<document title="CashBook">
<define name="version" value="">
<define name="date" value="" length=30 align="right">
<define name="sprites" value="Sprites">




<literal mode="Strong" file="!Root">
CashBook
#SpriteFile Sprites
#Sprite 8,0 Logo
#Align Right
{f*/:Home Accounts Manager}
Version $$version$$ ($$date$$)
#Below
#Line
#Align Centre
{f/:CashBook} is {f*:Open Source}: please read the <Licence>.

#Indent 2
#Table Columns 2
 <Introduction & Installation=>Intro>
 <Beginners Tutorial=>Tutorial>

 <Accounts & Analysis Headings=>Accounts>
 <Transactions=>Transact>
 <Standing Orders & Repeating Transactions=>SOrders>

 <Budgeting=>Budget>
 <Reporting and Analysis=>Report>
 <Printing>
 <Saving and Loading=>Files>
 <Import and Export=>Foreign>

 <Finding transactions=>Find>
 <Purging Data=>Purge>

 <Configuration=>Config>

 <Version History=>History>
 <Future Plans=>Future>
#Endtable
#Indent
#Line
#Align Left
If you have any comments about {f/:CashBook}, or would like to report any bugs that you find, you can email me at the address below.

Updates to {f/:CashBook} and more programs for RISC OS computers can be found on my website at <http://www.stevefryatt.org.uk/risc-os=>#url>.

 Stephen Fryatt, 2003-2021 (<info@stevefryatt.org.uk=>#url mailto:info@stevefryatt.org.uk>)

A plain text version of this manual is available <here=>*Filer_Run <CashBook$HelpText\>>.
#Align Left
</literal>






<literal mode="Text">
=============================================================================
CashBook - Home Accounts Manager                                 Version $$version$$

(C) Stephen Fryatt, 2003-2021                  $$date$$
=============================================================================
</literal>





<literal mode="HTML">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../style/base.css" media="screen">
<title>RISC&nbsp;OS Software &ndash; CashBook &ndash; Manual</title>
</head>

<body bgcolor="#ffffff" text="#000000">
<div id="container">
<div id="header">
<h1>CashBook &ndash; Manual</h1>
</div>

<div id="content">

<p class="breadcrumb">[ <a href="../../" class="breadcrumb">Home</a>
| <a href="../" class="breadcrumb">RISC OS Software</a>
| <a href="index.html" class="breadcrumb">CashBook</a>
| <span class="breadcrumb-here">Manual</span> ]</p>

<img src="images/cashbook.gif" alt="" width=34 height=34 class="list-image">

<p><b>Home Accounts Manager</b> &ndash; &copy; Stephen Fryatt, 2003-2021<br>
Version $$version$$ ($$date$$)</p>

</literal>






<chapter title="Licence" file="Licence">

<cite>CashBook</cite> is licensed under the EUPL, Version&nbsp;1.2 only (the &ldquo;Licence&rdquo;); you may not use this work except in compliance with the Licence.

You may obtain a copy of the Licence at <link ref="#url http://joinup.ec.europa.eu/software/page/eupl">http://joinup.ec.europa.eu/software/page/eupl</link>

Unless required by applicable law or agreed to in writing, software distributed under the Licence is distributed on an &ldquo;<strong>as is</strong>&rdquo; basis, <strong>without warranties or conditions of any kind</strong>, either express or implied.

See the Licence for the specific language governing permissions and limitations under the Licence.

The source for <cite>CashBook</cite> can be found on GitHub, at <link ref="#url https://github.com/steve-fryatt/cashbook">https://github.com/steve-fryatt/cashbook</link>
</chapter>






<chapter title="Introduction & Installation" file="Intro">

<cite>CashBook</cite> is a home accounts manager, which can be used to keep track of home or club accounts. The system is based around transactions, which correspond to those on bank, building society and credit card statements. These transactions transfer money between accounts, or to and from analysis headings.

Transactions into and out of accounts can be reconciled against statements, making it quick and easy to spot discrepancies and errors. Budgets can be set for transactions into and out of analysis headings, so that income and expenditure over time can be monitored and recorded. Various reporting options allow detailed information to be produced on many aspects of the accounts and transactions.

Entering transactions can be done in two ways. In addition to manual entry, regular payments such as standing orders, direct debits or salary payments can be automated. Pending transactions up to a specified date can be included in any future balance figures for accounts.


<subhead title="Installation">

<cite>CashBook</cite> is designed to work with RISC&nbsp;OS&nbsp;4 or later; it can be used on RISC&nbsp;OS&nbsp;3, but a copy of the Nested Wimp must be installed. It is 26/32-bit neutral, and should therefore run on all hardware systems as long as the 32-bit Shared C Library is installed. If required, this can be found in the System Resources on RISC&nbsp;OS Open Ltd&rsquo;s website at <link ref="https://www.riscosopen.org/content/downloads/common">https://www.riscosopen.org/content/downloads/common</link>.

To install, copy the <file>!CashBook</file> application from the archive into a suitable place on your hard disc.  It can be run from a floppy disc, but this is not recommended.  Once installed, double-click on the <file>!CashBook</file> application in the Filer window to load it on to the iconbar.


<subhead title="Getting started">

<cite>CashBook</cite> is a multi-file editor which behaves in a similar way to many other RISC&nbsp;OS applications. Double-clicking on its icon in a filer window will load it on to the iconbar, ready for files to be loaded or created. Several different sets of accounts can be worked on at the same time: the only limitations on the number of files loaded, and on the number of transactions, accounts, headings or standing orders in a file, are imposed by memory and processing speed.

In addition to this manual, <cite>CashBook</cite> fully supports interactive help.  To get information on any aspect of the application, simply load a help client and point to the relevant part of a window or dialogue box.

To create a new file, click <mouse>select</mouse> on <cite>CashBook</cite>&rsquo;s iconbar icon; this opens a new <window>transaction</window> window. The <window>transaction</window> window is the central part of a cashbook file: all the other windows associated with that file can be opened from here, and clicking <mouse>menu</mouse> over it will bring up the main menu. If the <window>transaction</window> window is closed, the file is removed from memory along with any associated windows.

Before transactions can be entered into the window, accounts and analysis headings must be set up. Details of these can be accessed from the main menu, and also from the <window>transaction</window> window toolbar. Standing orders, which are in fact any pre-defined transactions that occur on a regular basis (such as salary payments, direct debits and &ndash; of course &ndash; standing orders), can also be accessed in this way.

Many other operations that can be carried out on a cashbook file can be accessed through the main menu or the <window>transaction</window> window toolbar. Other windows in <cite>CashBook</cite> have their own menus and toolbars which allow access to a subset of functions available from the main menu, as well as additional options which are not applicable elsewhere.


<subhead title="Saving and loading files">

<cite>CashBook</cite> files can be saved by following <menu>File &msep; Save</menu> from the main menu. From this dialogue box, the file icon can be dragged to a filer window in the standard manner. If a full filename is already present in the <window>transaction</window> window&rsquo;s titlebar, clicking on the menu entry will save the file immediately.

Information on the current file can be found by following <menu>File &msep; Info</menu> from the main menu. This gives details of the file&rsquo;s location on disc (as shown in the <window>transaction</window> window&rsquo;s titlebar), the date the file was last saved and whether the file has been modified since then. If the file has been modified since the last save, an asterisk will also be shown at the end of the filename in the <window>transaction</window> window&rsquo;s titlebar. The file information window also shows details of the number of transactions, accounts, analysis headings, standing orders and transaction presets in the file.

If <cite>CashBook</cite> is loaded on the iconbar, or has at least been seen by the filer, double-clicking on a cashbook file will load it in the usual way. Alternatively, files can also be dragged to the application&rsquo;s iconbar icon.


<subhead title="Displaying and entering monetary values">

Throughout <cite>CashBook</cite>, a standard format is used to display and enter monetary values. Plain numbers are used, without any currency symbols, to allow the application to be used in different countries. The number of decimal places used is read from the computer&rsquo;s territory settings, although these can be overridden in the <cite>CashBook</cite> configuration if necessary.

As standard, zero values will not be displayed (the location being left blank instead); this can be changed if required. The decimal point and method of displaying negative values (a minus sign or brackets around the value) can also be set to override the current territory defaults.

When entering numbers, trailing zeros will be added after the decimal point if any are missing. Thus, assuming sterling or a similar currency, entering <entry>236.76</entry> would result in 236.76 being accepted, while <entry>236.7</entry> would produce 236.70 and <entry>236</entry> would give 236.00.

Negative values can be entered using the method for displaying negative numbers that is currently in force. If a minus sign is selected, they should be entered in this way: <entry>&minus;12.34</entry>. If parentheses are in use, values should be enclosed thus: <entry>(12.34)</entry>.


<subhead title="Displaying and entering dates">

Date entry and display is also handled in a uniform way, using one of either <entry>DD-MM-YYYY</entry>, <entry>YYYY-MM-DD</entry> or <entry>MM-DD-YYYY</entry> format. The format, along with the separator used for display is set in the configuration, and can be changed as required. Multiple separators can be specified for entering dates.

When entering dates, it is possible to use two-digit years. These will be expanded into four-digit years such that 80 to 99 become 1980 to 1999, while 00 to 79 become 2000 to 2079. Years must fall in the range 100 to 9999.

Either the year, or the month and year, can be omitted, in which case the current year (and month) will usually be substituted.  The exception is when entering transaction dates, when the year and month are taken from the previous line if these are present &ndash; allowing several transactions in the same month to be entered quickly.


<subhead title="Working with windows and dialogue boxes">

The column widths in the various windows in <cite>CashBook</cite> can be adjusted by dragging the right-hand end of the column title with the mouse. The widths used in individual windows are saved in the cashbook file, with the exception of <link ref="Accounts">statement views</link> where all the windows share the same width settings, which are updated whenever a column is adjusted in any window.

The <window>transaction</window> window, <window>standing order list</window> window and statement view windows can all have their contents sorted on any of the columns of data. Clicking <mouse>select</mouse> on a column heading (away from the drag target at the right-hand end) will sort that column into ascending order, while clicking <mouse>adjust</mouse> will sort into descending order; this can also be achieved through the window&rsquo;s <window>sort</window> dialogue. The column currently being sorted is shown by a small arrow pointing up or down in the selected column&rsquo;s heading.

The left-most button on every <cite>CashBook</cite> toolbar (except for the <window>transaction</window> window toolbar) is an upwards-pointing black arrow: the <icon>parent window</icon> button. Clicking on this will bring the <window>transaction</window> window belonging to the window in question to the front, which can be useful if there are a lot of other windows on the screen.

The <window>transaction</window> window contains the main menu in <cite>CashBook</cite>, which allows access to almost all of the application&rsquo;s features. Most of the other windows have their own local menus with options relating to the contents: invariably these contain export and print options. If entries in a menu relate to the line of the window over which the mouse was clicked, the line will be highlighted whilst the menu is open.

All of the dialogue boxes in <cite>CashBook</cite> comply with the <cite>RISC&nbsp;OS Style Guide</cite>, and should be familiar in use.  It may be worth remembering that while <mouse>select</mouse> clicks on the default &lsquo;action button&rsquo; (usually at the bottom right, with a label like <icon>Create</icon>, <icon>Update</icon> or similar) will act on the settings in the dialogue and close it, <mouse>adjust</mouse> clicks will use the settings while leaving the dialogue open.

In a similar way, <mouse>select</mouse> clicks on the adjacent <icon>Cancel</icon> button will close the dialogue and forget any changes to the contents, while <mouse>adjust</mouse> clicks will simply restore the contents of the dialogue to the values that were there when it opened.

When opening dialogue boxes, the previous contents will be remembered by default. To open an empty dialogue from a toolbar, use an <mouse>adjust</mouse>-click instead. This behaviour can be reversed from the <icon>General</icon> section of the <window>choices</window> window.

</chapter>






<chapter title="Beginners&rsquo; Tutorial" file="Tutorial">

Before starting to look at the features of <cite>CashBook</cite> in detail, it may be helpful to work through an example of setting up accounts and analysis headings. This should make it clearer how the various components fit together.  All of the concepts introduced here are described in more detail elsewhere in this manual.

If it is not already on the iconbar, load a copy of <cite>CashBook</cite> by double-clicking on it in a filer window. Click on <cite>CashBook</cite>&rsquo;s iconbar icon to open a new file, ready for data to be entered.


<subhead title="Accounts and analysis headings">

Before any transactions can be entered, some <link ref="Accounts">accounts and analysis headings</link> must be set up. These are used to collect transactions together and keep track of money. While the two are very similar in a number of ways, how they are used differs significantly.

Accounts usually correspond to bank or building society accounts in the real world, as well as credit and store cards. They can accept both credits and debits, and maintain a running balance which can be either positive (in credit) or negative (overdrawn or in debt). Transactions in accounts will usually end up being matched against entries in real-world statements.

Analysis headings, on the other hand, do not necessarily correspond to anything in the real world: they are simply labels that can be attached to groups of income or expenditure, such as &lsquo;Salary&rsquo;, &lsquo;Groceries&rsquo;, &lsquo;Car servicing&rsquo;, &lsquo;Pub meals&rsquo; and so on. Headings are divided into groups for incoming and outgoing money, and can only be used for one or the other.

Accounts and headings are identified by both a full name and an ident: the latter is a short, unique name made up of up to four letters or numbers. The name is used by <cite>CashBook</cite> for display purposes, but for speed, entry is always done using the ident. Although the idents must be unique, because headings can only apply to either income or expenditure, the same ident can be used twice.


<subhead title="Adding accounts">

To be able to keep track of our monthly expenditure, <cite>CashBook</cite> will need to know about our current account. To create the necessary account entry, select <menu>Accounts &msep; New account...</menu> from the menu to open the <window>create new account</window> window.

As noted above, each account requires a name and an ident. Since this is the current account, enter <entry>Current Account</entry> into the <icon>Name</icon> field. The name is for human use only, and can be as descriptive as required.

In contrast, the ident is used for data entry: it pays to try and make them as memorable as possible for regularly used accounts. Since this is the only current account in the file, enter <entry>Cur</entry> into the <icon>Ident</icon> field. The capitalisation is not important, although it will be remembered and used when displaying the entry.

The account has an overdraft limit of 500, so enter <entry>500</entry> into the <icon>Credit limit</icon> field. At the present moment in time it is in credit to the sum of 250, so <entry>250</entry> should be entered into the <icon>Opening balance</icon> field. The first unused cheque in the cheque book is number 100031, so enter <entry>100031</entry> for <icon>Next cheque</icon>; the account has no paying in book, so leave the <icon>Next pay-in slip</icon> field blank.

In the <icon>Bank details</icon> section, the account number, sort code and branch address can be recorded. This information is not used by <cite>CashBook</cite>, but provides a convenient place to store the details if required. Once the necessary information has been entered, click on <icon>Create</icon> to set up the account.

At this point, it will not appear that much has changed. To see the new account we have created, select <menu>Accounts &msep; List accounts</menu> from the main menu. The <window>accounts list</window> window will open, showing an entry for the current account: notice that the statement and current balances are shown as 250, reflecting the opening balance, while the final balance is 750, reflecting the opening balance plus the overdraft limit.

We also have a savings account, so click <mouse>menu</mouse> over the <window>accounts list</window> window and select <menu>New account...</menu>; this has the same effect as the entry in the main menu. Enter an account name of <entry>Savings Account</entry> and an ident of <entry>Sav</entry>.

There is no overdraft facility, cheque book or paying in book, so <icon>Credit limit</icon>, <icon>Next cheque</icon> and <icon>Next pay-in slip</icon> can all be left blank; <icon>Opening balance</icon> can also be left blank as the account is brand new and there is no money in it yet. Click on <icon>Create</icon>, and a new line should appear in the accounts list: all the balances are zero, and should remain blank.


<subhead title="New analysis headings">

In order to be able to acquire or spend money, some analysis headings will be needed in addition to the accounts. These are added in a similar way, so select <menu>Headings &msep; New heading...</menu> from the main menu to open the <window>create new heading</window> window.

First we will require a heading to represent our salary, so enter <entry>Salary</entry> in the <icon>Name</icon> field and <entry>Sal</entry> in the <icon>Ident</icon> field. The salary is money coming in, so select <icon>Incoming</icon>. Unless we receive a pay rise, we expect to receive about 12,000 after tax this year, so enter <entry>12000</entry> into the <icon>Budget limit</icon>.  Click on <icon>Create</icon> to add the heading.

As with the accounts, there will be no visible sign that anything has changed. Select <menu>Headings &msep; List incoming</menu> from the main menu, and the <window>incoming headings list</window> window will be displayed. This contains an entry for our salary, showing a total of 0 received so far.

We will also need somewhere to spend our hard-earned cash, so go back to the main menu and select <menu>Headings &msep; New heading...</menu> again. There is a supermarket receipt in our wallet, so we will need an entry for Food: enter <entry>Food</entry> as both the <icon>Name</icon> and <icon>Ident</icon>. As an expense, the <icon>Outgoing</icon> option should be selected. We reckon that we can afford to spend about 600 on food this year, so enter <entry>600</entry> into the <icon>Budget limit</icon> field.   Click on <icon>Create</icon> to add the heading.

As the food was an outgoing heading, it will not appear in the incoming headings list. From the main menu, select <menu>Headings &msep; List outgoing</menu> and the <window>outgoing headings list</window> window should open; this looks very similar to the incoming list. The first line should be an entry for food.

The council have just sent next year&rsquo;s council tax statement, so we will need another heading to cover this. Click <mouse>menu</mouse> over the <window>outgoing headings list</window> window and select <menu>New heading...</menu>; as with the accounts list, this has a similar effect to the main menu entry.

Enter the <icon>Name</icon> and <icon>Ident</icon> as <entry>Council Tax</entry> and <entry>CTax</entry> respectively. Since the dialogue was opened from the outgoing headings list, <icon>Outgoing</icon> is already selected (though there is no reason why this could not be changed to <icon>Incoming</icon> if we wanted that type of heading). The council want 512.40 from us this year, so enter <entry>512.40</entry> into the <icon>Budget limit</icon> and click on <icon>Create</icon>. A new entry should appear in the outgoing headings list.


<subhead title="Entering the first transaction">

Now that we have some accounts and headings to use, we can begin to enter transactions. All transactions are entered into the main <window>transactions</window> window, which was the one that opened when the file was created.

Transactions have four main pieces of information associated with them, which are:

<list type="num">

<li>The date on which the transaction occurs;
<li>The location (account or heading) where the money is to be taken from;
<li>The location (account or heading) where the money is to be sent; and
<li>The amount of money which is to be transferred.

</list>

In addition to these items, each transaction has a number allocated to it by <cite>CashBook</cite> and can also have a reference (such as a cheque or invoice number) and a descriptive text to help identify the purpose of the transaction.

Place the caret into the first line of the <icon>Date</icon> column, by clicking there with the mouse. The date on that food receipt is 27 May 2005, so enter <entry>27-05-2005</entry> and press <key>return</key> to move to the next column. As you start to type, <cite>CashBook</cite> will allocate a number to the transaction and place it in the <icon>No</icon> column to the left.

The <icon>From</icon> column shows the account or heading from which the transaction takes money: since the food was paid for by cheque, this will be our current account. Enter the ident of the current account, which is <entry>Cur</entry>. As the third character is typed, the full account name should be filled in on the right of the column; if not, check that you entered it correctly both here and in the account definition. Press <key>Return</key> again, to move to the next column.

The <icon>To</icon> column shows the account or heading to which the transaction pays money: in this case, it will be the food analysis heading. Enter the ident <entry>Food</entry>, and again the full name should be filled in on the right. This time, an asterisk will have also appeared in the centre of the column: being a heading, the entry is automatically reconciled. This will be described later.

Pressing <key>return</key> will move to the <icon>Reference</icon> column. We paid by cheque, so recording the cheque number here would be useful; since we have already told <cite>CashBook</cite> that the next cheque number is 100031, pressing <key>f1</key> (the &lsquo;quick entry key&rsquo;) will enter that here and update the next number to 100032.

Press <key>return</key> again to move to the <icon>Amount</icon> column. The receipt shows a total of 18.49, so enter <entry>18.49</entry> here. Press <key>return</key> to move into the final <icon>Description</icon> column: this is a free-text field that can be used to record more information about the transaction. For food purchases, we would like to record the supermarket name, so enter <entry>Morrisons</entry> and press <key>return</key> one final time to place the caret at the start of the next line.


<subhead title="Updated balances">

Having entered the transaction for the food receipt, a quick look at the <window>accounts list</window> and <window>outgoing headings list</window> windows will show that things have changed.

In the accounts list, the current and final balances will have decreased by 18.49 each (to 231.51 and 731.51 respectively), reflecting the fact that the money has gone from the account. The statement balance has not changed, because the current account side of the transaction was not reconciled. This means that the transaction has not been seen and &lsquo;ticked off&rsquo; on a statement from our bank, so the statement balance remains at the original value.  The budget figure has gone to &minus;18.49, showing that overall the balance of the current account has changed by &minus;18.49.

In the outgoing headings list, the total and actual balances for food have increased to 18.49 to indicate that this amount has been spent. Since the budgeted amount was 600, the budget balance has decreased to 600&minus;18.49, or 581.51.


<subhead title="Adding some more transactions">

Now that we have seen that the food transaction has been recorded correctly, the other transactions need to be added. Return to the <window>transactions</window> window, and place the caret into the <icon>Date</icon> column of the first blank line; if the caret was still in the <icon>Description</icon> column from the food purchase, then pressing <key>return</key> will do this automatically.

When we opened that savings account, on 2 June 2005, we paid in 500 by cheque.  Enter the <icon>Date</icon> as <entry>2-6-2005</entry>, and the <entry>Cur</entry> account in the <icon>From</icon> column, pressing <key>return</key> to move from column to column. Again, <cite>CashBook</cite> will allocate a transaction number for us. The money will be moving to the savings account, so <entry>Sav</entry> could be entered into the <icon>To</icon> column as we did before.

However, there is another way to select accounts and analysis headings when the ident is hard to remember. Click <mouse>adjust</mouse> over the row with the caret, in the right-hand part of the <icon>To</icon> column, and a menu will appear listing the accounts and outgoing analysis headings that can be entered: select <menu>Accounts &msep; Savings Account</menu>, and the account name will be entered as if the ident had been typed. Press <key>return</key> until the caret is in the <icon>Reference</icon> column, then press <key>f1</key> again to enter 100032 as the cheque number. Finally, enter <entry>500</entry> in the <icon>Amount</icon> column.

A quick check of the current account&rsquo;s balance in the <window>accounts list</window> will show that we are now overdrawn by 268.49. Since our overdraft limit is 500, the final balance still shows as 231.51. In fact, we were paid at the end of May, so this is not a problem at all.

Back in the <window>transactions</window> window, place the caret in the next blank <icon>Date</icon> field and enter <entry>31-5-05</entry> for the last day of May. Pressing <key>return</key> will move the caret to the next column, and also sort the transaction rows so that they appear in chronological order; using <key>tab</key> to move between columns prevents this sorting from taking place. Complete the remainder of the transaction: from <entry>Sal</entry>, to <entry>Cur</entry>, amount <entry>1000</entry>.

On checking the details in the accounts list and incoming headings list, we should find that we are now back in the black again.


<subhead title="Adding a regular direct debit">

The only thing left to deal with is the council tax bill. We pay this by direct debit, and the council have supplied a payment schedule which gives the dates that they will take money from our account. Although we could enter these dates by hand as they become due, it will be easier to set up a regular payment to handle it for us; this way, payments will show up on forecasted balances and should never be forgotten.

Regular payments, whatever their nature, are referred to as &lsquo;standing orders&rsquo; in <cite>CashBook</cite>. From the main menu, select <menu>Transactions &msep; New Standing Order...</menu> and the <window>create new standing order</window> dialogue will open. There are two sections to this: the first deals with <em>when</em> the transaction will take place, while the second specifies <em>what</em> the transaction contains.

The council have informed us that we will make ten payments, on the last day of the month, starting on 30 April 2005 and finishing on 31 January 2006. The total bill is 512.40, so the first payment will be 53.40 and the remaining nine will each be 351.00.

Filling in the easy fields of the dialogue box first, there are 10 payments so enter <entry>10</entry> into the <icon>Number</icon> field. The payments are to be made monthly, so enter <entry>1</entry> into the <icon>Every</icon> field and set the period to <icon>Months</icon>.

The start date is slightly less obvious.  If we were dealing with a period of days or years, the date would simply be the date of the first payment, and each subsequent payment date would be found by adding on the correct number of days or years. The months period behaves slightly differently, however, to deal with exactly the problem we currently face.

The date of the first payment will be 30 April, which is the last day of the month. If we add on one month to that, however, we end up with 30 May: not the last day of May. To get around this, when working with a payment period in months, it is valid to enter a start date beyond the end of the month: if necessary, <cite>CashBook</cite> will bring the date back into range before posting a payment.

As a result, enter the date <entry>31-04-2005</entry> into the <icon>Start date</icon> field. This is clearly not a valid date, so the first payment will actually take place on 30 April 2005. The <em>next</em> payment will take place on 31 May 2005, however.

Finally, the council&rsquo;s bank do not take money at weekends, but defer the payment to the Monday. As a result, tick <icon>Avoid weekends</icon> and select <icon>Put back</icon>. Since 30 April 2005 is a Saturday, the first payment will actually take place on 2 May 2005.  The date of subsequent payments will be calculated based on 30 April.

Having got the dates sorted out, we can now enter the transaction details. In the <icon>From</icon> field, enter <entry>Cur</entry> as the payment will be coming from our current account; in the <icon>To</icon> field, enter <entry>CTax</entry> to indicate the council tax analysis heading. The council have given us a payment reference of &lsquo;CT2005147&rsquo;, so enter <entry>CT2005147</entry> into the <icon>Reference field</icon>.

The amount to be paid will depend on which payment we are on: most are 51.00, but the first will be 53.40. Enter <entry>51</entry> in the <icon>Amount</icon> field, then tick <icon>First payment</icon> and enter <entry>53.40</entry> in the field next to it. Finally, additional information (if there is any) can be entered into the <icon>Description</icon> field, then click on <icon>Create</icon> to add the standing order.

Depending upon the date on which you follow this tutorial, a number of transactions will be added to the <window>transactions</window> window. The first will be for 53.40 on 2 May 2005, then there will be further transactions for 51 on 31 May, 30 June, 1 August and so on. If the current date is after 31 January 2006, all ten transactions will be added and the standing order will end up &lsquo;stopped&rsquo;.

Selecting <menu>Transactions &msep; List standing orders</menu> from the main menu will open the <window>standing orders list</window> window. This should contain an entry for the council tax payments, showing the accounts and headings concerned, the standard amount to be transferred and the description. The <icon>Next date</icon> column shows the actual date of the next transaction, or &ldquo;Stopped&rdquo;, and <icon>Left</icon> shows how many transactions are still to be carried out.

With hindsight, it would have been more appropriate to have entered our salary payments as a standing order as well: these should be fixed to the final day of each month. In general, any transactions which occur at regular intervals are best packaged as standing orders; details of the transaction, such as amounts of money, can always be edited either in the standing order definition or in the resulting transactions if necessary.


<subhead title="Seeing an account &lsquo;statement&rsquo;">

Before moving on to look at the operation of <cite>CashBook</cite> in detail, it would be useful to see the transactions in our current account listed together in the form of a &lsquo;bank statement&rsquo;. If nothing else, this would let us see how the balance varies over time.

From the main menu, select <menu>Accounts &msep; View account &msep; Current account</menu> to open the <window>current account transactions</window> window. It contains all the transactions which reference the current account, but does so in the form of payments and receipts and including a running balance. The order in which transactions appear here is the order in which they are sorted: this may not correspond to the order your bank sees them in, and may result in variations between the balances at given points.

Double-clicking on a field in the <window>current account transactions</window> window will place the caret in the corresponding field in the <window>transactions</window> window; using <mouse>adjust</mouse> also brings the transactions window to the front.

</chapter>







<chapter title="Accounts and Analysis Headings" file="Accounts">

A <cite>CashBook</cite> file consists of a series of transactions, which move money from one location to another. These locations can either be accounts, or analysis headings. While the two are similar in many ways, they are used for distinct purposes.

Accounts correspond to accounts in real life, such as current accounts, savings accounts, loose change or credit and store cards. They can have money moved in or out, and they have balances associated with them, indicating how much money is available at different times. Depending upon the type of account being represented, there may also be a credit limit or overdraft specified.

Analysis headings are split into two groups to handle all income and expenditure, such as wages, bank interest, or money spent on food, petrol or home insurance. Each heading can have a budget target set for it, allowing income and spending to be monitored over time. It pays to carefully consider the headings that are used when setting up a cashbook file, as it can make tracking your money a lot easier.


<subhead title="Creating new accounts">

New accounts can be created through the <window>create new account</window> dialogue, either by selecting <menu>Accounts &msep; New account...</menu> from the main menu or by clicking on the <icon>new account</icon> button in the <window>transaction</window> window toolbar.

Every account must have a name and an ident associated with it. The name is used to identify the account on screen and in reports, and can be anything that identifies the account: for example, &lsquo;Current account&rsquo;, &lsquo;Savings account&rsquo;, &lsquo;Credit card&rsquo; or &lsquo;Cash in hand&rsquo;. <cite>CashBook</cite> never uses the name internally, so it can safely be changed at any point without affecting data stored, should this be necessary.

The ident is a short textual &lsquo;tag&rsquo; of up to four characters used to identify the account when entering transactions or referring to the account in dialogue boxes. It can contain any letters or numbers and although case is preserved when displaying it on screen, it is ignored when looking for a matching account (so <code>Sav1</code> and <code>sav1</code> would both be seen as the same). Since idents are used for entering data, it is worth using ones that you can remember. As with the account name, an ident can safely be changed at any point after the account has been created.

The name and ident are the only pieces of information required to create an account, although additional details may be specified depending on the type of account being represented. Left blank, the additional details will default to sensible values that will apply to many situations.

The <icon>Credit limit</icon> field is used to specify a credit limit on a credit card, an overdraft limit on an account or any similar item. In each case, the amount is entered as a positive value and indicates how far the account balance can be taken below zero.

The <icon>Opening balance</icon> field gives the initial balance in the account and is used to calculate the current balance from. If the account was opened during the period that the cashbook file covers, the opening balance is optional and the same effect can be achieved by entering a transaction for the initial amount; indeed, this may be preferable, as it shows where the money came from. If the account was open before the file period begins, however, the opening balance provides an easy way of bridging the gap.

If the account comes with a paying in book, the <icon>Next pay-in slip</icon> field allows the number of the next paying-in slip to be recorded. If <key>f1</key> is pressed in the <icon>Reference</icon> column when entering a transaction <em>to</em> this account, the current number will be inserted and the number stored will be incremented ready for the next slip.

In a similar way, if the account comes with a cheque book then the <icon>Next cheque</icon> field allows the number of the next cheque to be recorded and used when transactions are entered <em>from</em> this account.

Finally, the <icon>Bank details</icon> section provides a means of recording information about the account. All the fields are plain text and can be used as required.

Clicking on <icon>Create</icon> will check the details and create an account; if the ident is not unique, a warning will be generated and it must be changed. Once created, the account will appear in all the account lists and can be used in transactions.


<subhead title="Creating new analysis headings">

In a similar way to accounts, new analysis headings are created through the <window>create new heading</window> dialogue, either by selecting <menu>Headings &msep; New heading...</menu> from the main menu or by clicking on the <icon>new heading</icon> button in the <window>transaction</window> window toolbar.

As with accounts, every heading must have a name and an ident associated with it. The name is used to identify the heading on screen and in reports, and can be anything that identifies the heading&rsquo;s purpose: for example, &lsquo;Salary&rsquo;, &lsquo;Bank interest&rsquo;, &lsquo;Food&rsquo;, or &lsquo;Car insurance&rsquo;. <cite>CashBook</cite> never uses the name internally, so it can safely be changed at any point without affecting data stored, should this be necessary.

The ident is a short textual &lsquo;tag&rsquo; of up to four characters used to identify the heading when entering transactions or referring to the account in dialogue boxes. It can contain any letters of numbers and although case is preserved when displaying it on screen, it is ignored when looking for a matching heading (so <code>Food</code> and <code>food</code> would both be seen as the same). Selecting memorable idents can help speed up data entry. As with the heading name, an ident can safely be changed at any point after the heading has been created.

When created, each heading can be specified as being either <icon>Incoming</icon> or <icon>Outgoing</icon>, depending on whether it will be used in the <icon>From</icon> or <icon>To</icon> fields of transactions. Once created, the type of a heading can not be changed, but it is possible to create incoming and outgoing headings with the same name and ident if necessary.

The <icon>Budget limit</icon> is optional, and is used in connection with the current <link ref="Budget">budget period</link>. The value is a target amount to be spent or received during the period, and if set, it is reported in the <window>heading list</window> window along with the actual amount spent and the difference.

Clicking on <icon>Create</icon> will check the details and create a heading; if the ident is not unique, a warning will be generated and it must be changed; the available idents are also shared with any accounts defined in the file. Once created, the heading will appear in the relevant heading list and can be used in transactions.


<subhead title="Checking account and analysis heading details">

All of the accounts and analysis headings in a cashbook file are shown in one of three windows. Accounts appear in the <window>accounts list</window> window, while analysis headings appear in either the <window>incoming headings list</window> window or <window>outgoing headings list</window> window.

The <window>accounts list</window> window can be opened from the main menu with <menu>Accounts &msep; List accounts</menu>, by clicking on the <icon>list accounts</icon> button in the transaction window toolbar or by pressing <key>f9</key>. Each account is displayed on its own line, with balance and cashflow figures.

The <icon>Statement</icon> balance is the <link ref="Reconcile">reconciled</link> balance of the account, taking into account only those transactions that have been reconciled with entries in account statements. If there are no errors, this should be the same as the final balance on the last statement received, helping to show up errors.

The <icon>Current</icon> balance takes into account all transactions, reconciled or not, up to and including the current date as given by the computer&rsquo;s clock. This gives a reasonable indication of the balance in the account <em>now</em>, but remember that it does not allow for time taken by banks to process payments.

The <icon>Final</icon> balance is the balance of the account at some point in the future, taking into account the information on future transactions available to <cite>CashBook</cite>. Any post-dated transactions are included, subject to limits set in the <link ref="Budget">budget details</link>, and future <link ref="SOrders">standing orders</link> are also included according to the budget rules. Any overdraft or credit limit set for the account is added to the value, showing the total amount of money available for use.

Finally, the <icon>Budget</icon> column shows the overall change in the account balance during the current <link ref="Budget">budget period</link>, including all transactions. This can give an indication of the trend in the account balance, but the condition of the account at the start of the period needs to be borne in mind.

For analysis headings, the <window>incoming headings list</window> windows can be opened from the main menu with <menu>Headings &msep; List incoming</menu>, by clicking on the <icon>list incoming headings</icon> button in the transaction window toolbar or by pressing <key>f10</key>. The <window>outgoing headings list</window> window can be opened from the main menu with <menu>Headings &msep; List outgoing</menu>, by clicking on the <icon>list outgoing headings</icon> button in the transaction window toolbar or by pressing <key>f11</key>.

Each analysis heading has a <icon>Total</icon> shown, which is the total amount received or spent against that heading when taking into account all the transactions in the file. Because headings will not generally relate to external accounts, there is no distinction made between <link ref="Reconcile">reconciled</link> and unreconciled transactions when calculating this total.

The <icon>Budget</icon> column shows the budget limit set for each heading. <icon>Actual</icon> is the total amount received or spent against that heading during the current <link ref="Budget">budget period</link>, while <icon>Balance</icon> shows the difference between the two. For incoming headings, a negative balance indicates that more money needs to be received to meet the budget target, while for outgoing headings it indicates that more money has been spent than was budgeted for.

The contents of the <window>accounts list</window> and <window>headings list</window> windows can be exported as a CSV or TSV file, for importing into spreadsheets or wordprocessors, using the <menu>Export CSV</menu> and <menu>Export TSV</menu> options from their respective menus.

The windows can also be printed, by selecting <menu>Print...</menu> from the menu or clicking on the <icon>print</icon> button in the toolbar. The standard printing options are available, and the entire list of accounts or analysis headings will be printed.



<subhead title="Grouping accounts or analysis headings together">

As new accounts or analysis headers are created, they are added to the end of the relevant list in the accounts or headings <window>list</window> window. The order of the lists can be changed, by dragging the lines around as required.

The list can be broken up by adding header and footer lines between the entries. Headers allow sections to be given titles, while footers show a sub-total for each of the columns.  The sub-totals are calculated from the previous header line down, allowing more than one set of totals in a section if required. Headers appear as dark grey title bars across the list, while footers are a paler grey.

To add a new header or footer, click <mouse>menu</mouse> over the window and select <menu>New section...</menu>, or click on the <icon>add new section</icon> button on the toolbar to open the <window>create new section</window> dialogue.

Section lines can be given a title, using the <icon>Title</icon> field, which will be shown in the name column. The lines can be created as either a <icon>Header</icon> or a <icon>Footer</icon>. Clicking on <icon>Create</icon> will add the new section headers or footers at the bottom of the window; it can then be dragged around as required.


<subhead title="Highlighting overdrawn accounts or missed budget targets">

Entries in the accounts or headings list windows can be highlighted if they go overdrawn or fail to meet their budget targets.  This can make it easier to see at a glance where any problems lie.

In the <window>accounts list</window> window, the values in the <icon>Statement</icon> and <icon>Current</icon> columns will be highlighted if they fall below the overdraft limit for the account in question. In the <icon>Final</icon> column, which takes the overdraft into account as part of the value displayed, entries will be highlighted if they fall below zero.

In the <window>outgoing headings list</window>, the values in the <icon>Actual</icon> and <icon>Balance</icon> columns are highlighted if the amount spent in the budget period goes above the limit.  Correspondingly, in the <window>incoming headings list</window>, the entries will be highlighted if the income fails to reach the budgeted target.

The highlighting can be turned on or off from the <icon>Accounts</icon> section of the <window>choices</window> dialogue using the <icon>Highlight overdrawn balances</icon> switch. The colour used for the highlighting can also be set here.


<subhead title="Editing and deleting accounts, headings or sections">

To edit the details of an account in the <window>accounts list</window> window, click <mouse>menu</mouse> over it and select <menu>Edit account...</menu>; to edit a section header or footer,  select <menu>Edit section...</menu> instead. In both cases, double-clicking <mouse>adjust</mouse> over the line has the same effect.

Editing analysis headings from either of the two <window>headings list</window> windows is started in a similar manner, by clicking <mouse>menu</mouse> over the entry and selecting <menu>Edit heading...</menu> or by double-clicking <mouse>adjust</mouse>.

The resulting edit dialogues allow the details of the account, analysis heading or section to be altered, or the entire item to be deleted. While it is always possible to delete sections, accounts and analysis headings can not be deleted if they are used in any transactions, standing orders or transaction presets. If an account or heading can not be deleted, it is possible to find the transactions responsible by looking at its statement view; to identify the standing orders or presets, it will be necessary to check the <window>standing orders list</window> and <window>preset list</window> windows.



<subhead title="Statement views">

A statement view brings together all the <link ref="Transact">transactions</link> associated with an account or analysis heading and presents them in the format of a bank statement. The details shown are transaction number, date, the other account or heading, reconciled status, reference, payment or receipt and the description.

To open a statement view for an account or analysis heading, double-click <mouse>select</mouse> on the entry in the <window>accounts list</window> or <window>headings list</window> window. Clicking <mouse>menu</mouse> over the line and selecting <menu>View account...</menu> or <menu>View heading...</menu> has the same effect. For accounts, statement views can be opened from the main menu using <menu>Accounts &msep; View account &msep;</menu>; this menu is also available by clicking on the <icon>view account</icon> button in the transaction window toolbar.

With a view open, the account or heading shown can be edited by selecting <menu>Edit account...</menu> or <menu>Edit heading...</menu> from the statement view menu, or by clicking on the <icon>edit</icon> button in the statement view toolbar.

The <link ref="Transact">reconciled status</link> shown in the <icon>From/To</icon> column of the window is for the transaction in the account or heading being viewed, <em>not</em> the one shown in the column. In effect, it applies to the account not shown in the column (that is, the account which the statement view is for), which is the opposite of the behaviour in the <window>transaction</window> window and elsewhere in <cite>CashBook</cite>. Transactions showing as reconciled here should appear on a printed statement from the relevant bank, building society, card issuer or whatever.

Clicking <mouse>adjust</mouse> over the reconciled field will toggle the state, in the same way as in the <window>transaction</window> window. This is the only piece of information that can be changed through the statement view.

The entries in the window are sorted according to the contents of one of the columns, as shown by the presence of the sort indicator arrow in the corresponding column heading. The sort order can be changed by clicking <mouse>select</mouse> or <mouse>adjust</mouse> in any of the headings, to sort that column into ascending or descending order respectively.

Alternatively, the sorting options can be changed from the <window>sort account entries</window> dialogue, which can be opened by clicking <mouse>select</mouse> on the <icon>sort</icon> button in the statement view toolbar or by selecting <menu>Sort entries...</menu> from the menu. After the options have been changed, clicking on <icon>Sort</icon> will update the display.

If the option to automatically sort the transactions is selected in the global choices, the window&rsquo;s contents will update if <key>Return</key> is pressed in the corresponding column of the <window>transaction</window> window. At other times, an <mouse>adjust</mouse> click on the <icon>sort</icon> button in the toolbar will force a re-sort.

The contents of the statement view can be exported as a CSV or TSV file, for importing into spreadsheets or wordprocessors, using the <menu>Export CSV</menu> and <menu>Export TSV</menu> options from the statement window menu.

The window can also be printed, by selecting <menu>Print...</menu> from the menu or clicking on the <icon>print</icon> button in the toolbar. A range of dates can be specified, to limit the entries printed; leaving either field blank allows the transactions before or after a date to be included.


<subhead title="Highlighting transactions in a statement view">

In the statement view for an account, it is possible to highlight transactions where the balance falls below the overdraft limit. This option can be controlled from the <icon>Accounts</icon> section of the <window>choices</window> dialogue, by toggling <icon>Highlight overdrawn account entries</icon>.

In views for analysis headings, transactions that fall outside the current budget range can be highlighted or shaded in a similar way, so that entries applying to the current budget stand out more clearly.  The <icon>Highlight heading entries outside budget</icon> option in the <window>choices</window> dialogue controls this option.

In both cases, the colour used to highlight entries can be specified.  This should be set depending on whether highlighted entries are required to stand out or not.


<subhead title="Moving around transactions from a statement view">

To locate a transaction from the statement view in the <window>transaction</window> window for editing, click <mouse>menu</mouse> over it and select <menu>Find transaction</menu> or double-click <mouse>select</mouse> over it. The transaction will be located, and the caret placed within it (either in the <icon>Date</icon> field or in the field corresponding to the one double-clicked over). Double-clicking with <mouse>adjust</mouse> has the same effect, but the <window>transaction</window> window is brought to the top of the window stack so that it is fully visible.

Moving the other way, selecting <menu>Goto transaction</menu> from the statement view menu or clicking on the <icon>goto transaction</icon> button in the statement view toolbar will scroll the view so that the transaction in the <window>transaction</window> window that contains the caret is shown (assuming that it is in the statement view at all).

</chapter>







<chapter title="Transactions" file="Transact">

Transactions are central to <cite>CashBook</cite>, as they allow the movement of money between accounts and analysis headings. A transaction moving money from an account to an analysis heading is a &lsquo;payment&rsquo;, while one that moves money from a heading to an account is a &lsquo;receipt&rsquo;. Transfers between two accounts can also be achieved in the same way.

The <window>transaction</window> window is central to a <cite>CashBook</cite> file, and acts as a focus around which all the other windows are located; if the window is closed, all the associated windows will also close and the file is removed from memory (after a warning if the data is unsaved, of course). It contains a full list of all the transactions in the file, and is the place where new transactions are added and existing ones edited.

The transactions in the window are sorted according to the contents of one of the columns, as shown by the presence of the sort indicator arrow in the corresponding column heading. The sort order can be changed by clicking <mouse>select</mouse> or <mouse>adjust</mouse> in any of the headings, to sort that column into ascending or descending order respectively.

Alternatively, the sorting options can be changed from the <window>sort transactions</window> dialogue, which can be opened by clicking <mouse>select</mouse> on the <icon>sort</icon> button in the <window>transaction</window> window toolbar, by selecting <menu>Transactions &msep; Sort...</menu> from the menu, or by pressing <key>f5</key>. After the options have been changed, clicking on <icon>Sort</icon> will update the display.

If the option to automatically sort the transactions is selected in the global choices, the window&rsquo;s contents will update if <key>Return</key> is pressed in the sorted column. At other times, an <mouse>adjust</mouse> click on the <icon>sort</icon> button in the toolbar will force a re-sort.

Transactions can be exported as a CSV or TSV file, for importing into spreadsheets or wordprocessors, using the <menu>File &msep; Export CSV</menu> and <menu>File &msep; Export TSV</menu> options from the menu.

The contents of the window can also be printed, by selecting <menu>File &msep; Print...</menu> from the menu, clicking on the <icon>print</icon> button in the toolbar or pressing <key>Print</key>. A range of dates can be specified, to limit the transactions printed; leaving either field blank allows the transactions before or after a date to be included.


<subhead title="What is a transaction?">

A transaction consists of the information required to move money from one location to another. It can move money between accounts, from accounts to analysis headings or from analysis headings to accounts. Entries consist of up to six pieces of information, as follows:

<list spacing=1>
<li>The <icon>No</icon> column shows the number of the transaction as it is known to <cite>CashBook</cite>. These numbers are allocated sequentially from the start of the file, and appear in the <window>transaction</window> and <window>statement view</window> windows as well as, printed output, exported data and reports. Transaction numbers can not be changed by the user.

<li>The <icon>Date</icon> shows when the transaction occurred, and may be any date from the year 100 to the year 9999. The date is used to sort transactions for analysis and budgeting, and allows post-dated entries (those with dates ahead of the current date from the computer&rsquo;s clock) to be identified.

<li>The <icon>From</icon> field shows the account or heading from which the money will be taken.  If you are making a payment from an account, that account will go here; otherwise, a heading corresponding to the source of the money (such as &lsquo;Wages&rsquo; or &lsquo;Bank interest&rsquo;) or another account from which the money is being transferred will be entered.

<li>The <icon>To</icon> field shows the account or heading to which the money will be paid.  If you are making a payment to an account (such as &lsquo;Savings account&rsquo; or &lsquo;Credit card&rsquo;), that account will go here; otherwise, a heading corresponding to the recipient of the money (for example &lsquo;Food&rsquo; or &lsquo;Petrol&rsquo;) or another account will be entered.

<li>The <icon>Reference</icon> is a 12 character reference, which is available for use as required. It can contain anything at all, from a cheque number (which <cite>CashBook</cite> can automate) or invoice number, to something like the mileage on a car when fuel was purchased.

<li>The <icon>Amount</icon> is the amount of money that the transaction is for. It will be debited from the account or heading in the <icon>From</icon> column and credited to the one in the <icon>To</icon> column.

<li>The <icon>Description</icon> is a free-text field of up to 100 characters, that can be used to supply more information about the transaction. No significance is placed on the contents, but they can be searched if required and are made available when generating some types of report.
</list>

The from and to fields both have a reconciled flag, which can be set to indicate that the entry has been checked against a bank, building society or credit card statement.  When the field refers to an account, the flag is initially unset; for analysis headings, the flag is always set and has no meaning.

<box type="warning">
Transaction numbers are allocated sequentially in date order. Although they usually remain constant, if a new transaction is entered with a date which places it before other transactions in the file then the numbers of those following transactions will each increase by one.
</box>


<subhead title="Entering transactions">

The <window>transaction</window> window is a lot like a spreadsheet, with rows containing individual transactions and columns to represent the various fields in them. Data is entered by typing directly into the cells: new entries can be made into blank cells, and existing details can be edited in the usual way.

To place the caret in a cell, click <mouse>select</mouse> over it. The <key>left</key> and <key>right</key> cursor keys move the caret backwards and forwards in the cell. The <key>up</key> and <key>down</key> keys move up and down the rows, while <key>tab</key> and <key>shift-tab</key> move right and left from cell to cell. Pressing <key>return</key> will also move the caret to the next cell (like <key>tab</key>), but may also have additional effects: in the currently sorted column, it will cause the transaction to be sorted into the correct place, while in the <icon>Description</icon> column, it will place the caret in the next blank line.

The <key>page up</key>, <key>page down</key>, <key>home</key> and <key>end</key> keys behave in the standard way. Scrolling the window down below the last line, using either <key>down</key> or the down tool on the scroll bar, will add blank lines to the end of the window.

In general, transaction details are entered directly into the columns; dates are entered in the <entry>DD-MM-YYYY</entry> format. The <icon>From</icon> and <icon>To</icon> columns are slightly different, as they consist of three cells: from left to right, these contain the account or heading ident, the reconciled flag, and the full name of the account or heading.  The caret can only be placed into the ident area, and the other two sections will update depending upon the account or analysis heading ident which is entered here.

As an alternative to remembering and typing in the idents for all accounts and headings, clicking <mouse>adjust</mouse> over the name field of the <icon>From</icon> and <icon>To</icon> columns will open a menu containing all the options that can be entered. This is split into two sections, with accounts in submenus at the top and analysis headings at the bottom. If the accounts or headings lists have been grouped using header rows in their respective <window>list</window> windows, then the submenus will reflect those groupings.

Each transaction can be <link ref="Reconcile">reconciled</link> against both the <icon>From</icon> and <icon>To</icon> accounts, and reconciled entries are indicated by a asterisk in the correct column. With the caret in the ident field, the <key>+</key> and <key>&minus;</key> keys set and unset the reconciled status; clicking <mouse>adjust</mouse> over the field will toggle its state.


<subhead title="Speeding up data entry">

Entering the transaction details can be speeded up for some of the fields by using the <key>f1</key> &lsquo;quick entry key&rsquo; to fill in standard default information. How this behaves depends on the column which currently contains the caret, as follows:

<list spacing=1>
<li>In the <icon>Date</icon> column, pressing <key>f1</key> will insert the current day&rsquo;s date, overwriting whatever was present before. Alternatively, click <mouse>adjust</mouse> over the column, and select <menu>Today&rsquo;s date</menu> from the shortcut menu.

<li>In the <icon>Reference</icon> column, <key>f1</key> will insert the next cheque or pay-in slip number, depending upon the accounts given in the <icon>From</icon> and <icon>To</icon> columns.  Alternatively, click <mouse>adjust</mouse> over the column, and select <menu>Pay-in or cheque</menu> from the shortcut menu.

If the <icon>From</icon> column contains an account with a cheque number specified, the next number will be inserted from that sequence; similarly, if the <icon>To</icon> column contains an account with a pay-in slip number specified, that will be used. If both columns contain accounts with the respective numbers set, a prompt will ask which to use.

The <mouse>adjust</mouse>-click menu also contains a list of other references used in the file, which can be selected to enter them into the field. If the field already contains some text, only other references starting with the same characters will be included.

<li>In the <icon>Description</icon> column, the entry will be completed by pressing <key>f1</key>. If some text is already in the field, the last entry starting with that string is copied down (the match is case-insensitive, but the case of the copied text is preserved). If the field was blank, the last text found is copied.

Clicking <mouse>adjust</mouse> over the column opens a menu containing a list of other descriptions used in the file, from which one can be selected to insert it into the field. If the field already contains some text, only other descriptions starting with the same characters will be included.
</list>

In addition, when moving on to the next field, holding down <key>ctrl</key> while pressing <key>return</key> or <key>tab</key> (ie. <key>ctrl</key>-<key>return</key> or <key>ctrl</key>-<key>tab</key>) will copy the contents of the transaction above into the field.


<subhead title="Transaction presets">

Sometimes there will be transactions, or bits of transactions, which are used frequently, but not regularly enough to be candidates for standing orders (as described in the <link ref="SOrders">next chapter</link>). In such cases, transaction presets may be of use.

Presets are effectively transaction templates, where some or all of the fields are completed and stored for future use. While all of the columns in the <window>transaction</window> window can be specified in a preset, often some will be left blank to be filled in each time the preset is used.

New presets are created using the <window>create new preset</window> dialogue, either by selecting <menu>Transactions &msep; New preset...</menu> from the main menu, or by clicking on the <icon>new transaction preset</icon> button in the <window>transaction</window> window toolbar.

Each preset must be given a unique <icon>Name</icon> to identify it, and it can also be allocated a <icon>Shortcut key</icon>. The key is a single letter (<key>A</key> to <key>Z</key>), which can be pressed while the caret is in the <icon>Date</icon> column of the <window>transaction</window> window to insert the contents of the preset into the current transaction; without a key, presets can be accessed from a menu.

The fields in the <icon>Details</icon> section contain the normal transaction details: if a field is left blank, the preset will not update that column of the <window>transaction</window> window when inserted into a transaction. If <icon>Today</icon> is ticked, the current date (at the time the preset is used) will be inserted into the <icon>Date</icon> column; if <icon>Pay-in or cheque</icon> is ticked, the <icon>Reference</icon> column will be set to the next appropriate pay-in slip or cheque number for the accounts given in the <icon>From</icon> and <icon>To</icon> columns at the time (as if <key>F1</key> was pressed in each case).

The column of radio icons to the right of the dialogue allows the final destination of the caret to be set: this allows the caret to be placed appropriately for filling in any fields left blank in the preset. Clicking on <icon>Create</icon> will add the preset to the file.

To insert a preset, either click <mouse>adjust</mouse> over the <icon>Date</icon> column of the <window>transaction</window> window and select its name from the list, or press its shortcut key while the caret is in the <icon>Date</icon> column. Pressing a shortcut key behaves as if <key>return</key> was pressed. If the <icon>Date</icon> field in the preset is left empty, this allows all of the auto-completion options to be used with dates when entering presets.

The presets defined in a file can be seen in the <window>transaction preset list</window> window, which can be opened by selecting <menu>Transactions &msep; List presets</menu> from the main menu or by clicking on the <icon>list transaction presets</icon> button in the <window>transaction</window> toolbar.

Each line in the window lists a preset. The <icon>Name</icon> and <icon>Key</icon> columns show their names and shortcut keys (where defined), while the <icon>From</icon>, <icon>To</icon>, <icon>Amount</icon> and <icon>Description</icon> columns show some of the details. Double-clicking on an entry will allow it to be viewed in full, edited, or deleted.

The presets in the window are sorted according to the contents of one of the columns, as shown by the presence of the sort indicator arrow in the corresponding column heading. The sort order can be changed by clicking <mouse>select</mouse> or <mouse>adjust</mouse> in any of the headings, to sort that column into ascending or descending order respectively.

Alternatively, the sorting options can be changed from the <window>sort presets</window> dialogue, which can be opened by clicking <mouse>select</mouse> on the <icon>sort</icon> button in the <window>transaction presets list</window> toolbar or by selecting <menu>Sort entries...</menu> from the menu. After the options have been changed, clicking on <icon>Sort</icon> will update the display.

If the option to automatically sort the preset list is selected in the global choices, the window&rsquo;s contents will update as presets are added or updated. At other times, an <mouse>adjust</mouse> click on the <icon>sort</icon> button in the toolbar will force a re-sort.

The list of presets can be exported as a CSV or TSV file, for importing into spreadsheets or wordprocessors, using the <menu>Export CSV</menu> and <menu>Export TSV</menu> options from the presets list menu. The contents of the window can also be printed, by selecting <menu>Print...</menu> from the menu or clicking on the <icon>print</icon> button in the toolbar. The full list of presets will be printed, as shown in the window.


<subhead title="Reconciling entries">

One of the most important functions of any accounting software is to allow account statements from banks, building societies, credit card companies and so on to be checked off against the transaction record to make sure that they are correct. Incorrect entries need to be highlighted, to allow them to be investigated and errors rectified.

The approach that <cite>CashBook</cite> uses is to allow the <icon>From</icon> and <icon>To</icon> fields of each transaction to be marked as reconciled once they have been checked off against a statement. Reconciled items show up with an asterisk in the centre field of the relevant column, and are included in the statement balance of the account in question. When all of the entries on the new statement have been checked and reconciled, the statement balance in <cite>CashBook</cite> should agree with the final balance on the statement.

Each transaction has two separate reconciled markers, for the <icon>From</icon> and <icon>To</icon> accounts, since transactions between accounts can apply to two different statements. Headings also have reconciled markers, but these are set automatically and are ignored when calculations are carried out. Once both fields in a transaction have been reconciled, the line can be highlighted (or greyed out) in the <window>transaction</window> window.

When the caret is in either the <icon>From</icon> or <icon>To</icon> column, the reconciled status can be changed by pressing <key>+</key> (or <key>=</key>) to set the marker or <key>&minus;</key> to unset it. Alternatively, clicking <mouse>adjust</mouse> over the marker will toggle its state.

When reconciling the transactions contained in a statement, it is possible to simply find each entry in the <window>transaction</window> window and check it off.  However, there are two ways in which the process can be made easier.

<list type="num" spacing=1>
<li>If &lsquo;Reconcile Mode&rsquo; is turned on, either by selecting <menu>Transactions &msep; Reconcile</menu> from the main menu or by toggling the <icon>reconcile</icon> icon in the <window>transaction</window> window toolbar, pressing either <key>+</key> or <key>&minus;</key> will update the status of the flag as normal. Having done this, the account at the caret is checked, and the caret moved on to the next unreconciled entry concerning it.

Once the reconciliation is complete, the Reconcile Mode can be turned off again, by toggling the toolbar icon or un-ticking the menu entry.

<li>As an alternative, a statement view can be opened for the account to be reconciled.  This option allows the statement to be worked through in the order that it appears on paper.  The reconciled fields in the statement view can also be toggled with <mouse>adjust</mouse>
</list>

The <window>Find transaction</window> window can be used to locate the first unreconciled transaction for a given account, by entering that account unreconciled in both the <icon>From</icon> and <icon>To</icon> fields.

When viewing the account details in the <window>accounts list</window> window, the reconciled balances for each account are shown under the <icon>Statement</icon> column. In each case, this should correspond to the final balance shown on the most recent reconciled statement for that account; if not, there is a discrepancy between the data in <cite>CashBook</cite> and the information held by the bank.

Transactions where both the <icon>From</icon> and <icon>To</icon> fields are reconciled can be shown highlighted or shaded in the <window>transaction</window> window if required. This makes it easier to spot transactions which still need to be checked against a bank or card statement. The option can be set and the highlight colour changed from the <icon>Transactions</icon> section of the <window>choices</window> dialogue.

An unreconciled transaction report can be generated by selecting <menu>Analysis &msep; Unreconciled report...</menu> from the main menu: this will list unreconciled transactions meeting certain criteria. More details can be found in the Reporting and Analysis chapter.


<subhead title="Deleting transactions">

It will not normally be necessary to delete transactions from a file, but under some circumstances it may be needed. It is possible to delete an entry column by column, clearing the contents of each cell in turn with <key>delete</key>, <key>ctrl-U</key> or (if the clipboard is enabled) <key>ctrl-X</key>. However, there is also a facility to delete an entire line in one go, by pressing <key>ctrl-F10</key> when the caret is in the required transaction.

Since this operation could potentially be unwelcome, there is an option to disable it. This can be set from the <icon>Transactions</icon> section of the <window>choices</window> dialogue.

</chapter>







<chapter title="Standing Orders and Repeating Transactions" file="SOrders">

Through the use of Standing Orders, <cite>CashBook</cite> can automatically enter regularly recurring transactions such as salary payments, direct debits and, of course, standing orders. Each standing order definition describes a transaction which is repeated a given number of times (from once to 999 times) with a specified interval.

Transactions entered automatically can have all of the same information attached as manually entered ones. In addition, it is possible to specify different amounts for the first or last transaction in the sequence: this can be used to take account of the common situation where a series of standing orders or direct debits start or finish with a different payment.


<subhead title="Creating a new standing order">

New standing orders can be created using the <window>create new standing order</window> dialogue, either by selecting <menu>Transactions &msep; New standing order...</menu> from the main menu, or by clicking on the <icon>new standing order</icon> button in the <window>transaction</window> window toolbar.

The contents of the dialogue box can be split into two sections: at the top, information is entered to show when the transactions will occur, while at the bottom, the actual details of the transaction are given.

Enter the date of the first transaction and the number of transactions that are to be made in the <icon>Start date</icon> and <icon>Number</icon> fields. The start date given is used as a target, and depending upon the other settings, the actual date of the first transaction may differ.

The period between transactions is entered in the <icon>Every</icon> field, with the unit selected after it. Days and years will operate as expected, with each new transaction date being calculated exactly from the previous one. The exception to this is if the date is set to 29th February of a leap year, with a period of years: in non-leap years, the transaction will occur on 28th February.

If months are selected, however, things are slightly different. The day of the month for the start date can be entered as any between 1 and 31 inclusive, regardless of the actual number of days in the given month. In the event of the current month having less days than the date specified, the transaction is brought forward to the last real day. This allows a direct debit to be set to be paid on the last day of every month, by setting the start date to be the 31st day.

<icon>Avoid weekends</icon> allows the transactions to avoid being paid at weekends when the banks are closed. Once a target date is found for the transaction, the date will be stepped forwards or backwards until a weekday is chosen. Despite this, the <em>original</em> target date (prior to a weekday being found) is used to add the offset to for the next payment.

In the <icon>Details</icon> section below, enter the transaction details as for a normal transaction. Sometimes direct debits require a different amount to be paid on the first or last instalment; if this is the case, enter the usual amount in the <icon>Amount</icon> field and use the <icon>First payment</icon> and <icon>Last payment</icon> fields as necessary.

Clicking on <icon>Create</icon> will add the new standing order to the list.  If the start date falls before the current date, transactions will be added immediately to bring the date of the next transaction into the future: in extreme cases, this may result in the standing order being completed immediately.


<subhead title="Viewing standing orders">

A complete list of the standing orders that are defined in a file can be seen in the <window>standing orders list</window> window, which can be opened by selecting <menu>Transactions &msep; List standing orders</menu> from the main menu or by clicking on the <icon>list standing orders</icon> button in the <window>transaction</window> window toolbar.

Each line in the window shows details of a single standing order. The <icon>From</icon>, <icon>To</icon>, <icon>Amount</icon> and <icon>Description</icon> columns show the transaction details as they will be entered into the accounts. The amount shown is always the standard amount, even if the next transaction will be the first or last in the sequence.

The <icon>Next date</icon> is the date on which the next transaction will be entered.  This is the calculated date, and takes into account details such as shorter months, weekend avoidance and so on. If the standing order is complete or has been stopped, this will show as &lsquo;Stopped&rsquo;.

The <icon>Left</icon> column shows how many transactions are still to be carried out. This counts down from the initial number, and will show zero if the order is complete or has been stopped.

The orders in the window are sorted according to the contents of one of the columns, as shown by the presence of the sort indicator arrow in the corresponding column heading. The sort order can be changed by clicking <mouse>select</mouse> or <mouse>adjust</mouse> in any of the headings, to sort that column into ascending or descending order respectively.

Alternatively, the sorting options can be changed from the <window>sort standing orders</window> dialogue, which can be opened by clicking <mouse>select</mouse> on the <icon>sort</icon> button in the <window>standing orders list</window> toolbar or by selecting <menu>Sort entries...</menu> from the menu. After the options have been changed, clicking on <icon>Sort</icon> will update the display.

If the option to automatically sort the standing order list is selected in the global choices, the window&rsquo;s contents will update as orders are added or updated, or as the associated transactions are added to the file. At other times, an <mouse>adjust</mouse> click on the <icon>sort</icon> button in the toolbar will force a re-sort. Automatic sorting can be used on the <icon>Next date</icon> column to ensure that the next standing order to occur is always shown at the top of the list.

The list of standing orders can be exported as a CSV or TSV file, for importing into spreadsheets or wordprocessors, using the <menu>Export CSV</menu> and <menu>Export TSV</menu> options from the standing orders list menu.

The contents of the window can also be printed, by selecting <menu>Print...</menu> from the menu or clicking on the <icon>print</icon> button in the toolbar. The full list of standing orders will be printed, as shown in the window. Alternatively, the standing order report can be opened by selecting <menu>Full report</menu> from the menu: this gives complete details of each order in the form of a list.



<subhead title="Editing and stopping standing orders">

Once a standing order has been created, it is possible to change some of the details, or stop it before it is complete. These actions are carried out through the <window>Edit standing order details</window> dialogue, which can be opened by double-clicking over a line in the <window>standing orders list</window> window or by clicking <mouse>menu</mouse> over it and selecting <menu>Edit standing order...</menu>.

Any of the details of the standing order can be edited, although if it is currently in progress the start date and period can not be changed.  The number of transactions can always be adjusted, but if the order is in progress the number must remain greater than those that have already taken place.

To store any changes that have been made, click <icon>Update</icon>; clicking <icon>Cancel</icon> will lose any changes that have been made since they were last stored.

A standing order can be stopped by clicking on <icon>Stop</icon>.  This will cause the remaining transactions to be set to zero, and allows the start date and period to be altered. Stopped orders can be left in the list for future use; if <icon>Delete</icon> is used, on the other hand, the details are removed from the file.

</chapter>







<chapter title="Budgeting" file="Budget">

Two facilities are provided by <cite>CashBook</cite> for tracking and analysing income, spending and cashflow.  Budgeting, which is described in this chapter, continually monitors the money going into and out of analysis headings, as well as keeping an eye on the flow of money through accounts.  In contrast, the <link ref="Report">Reporting and Analysis</link> facilities can provide much more detailed information, but do so as a snapshot taken at a particular instance in time.


Budgeting allows targets to be set for income and expenditure over a period of time, then compares these to what actually happens. The process makes use of <link ref="Accounts">analysis headings</link>, with the option to set a budget limit for each heading.


<subhead title="Setting up a budget">

To set up a budget, two pieces of information need to be decided: the period over which the budget is to run, and the amount of money available to be spent in that period. Once these have been established, it is possible to allocate the available funds across the known areas of expenditure.

By default, a <cite>CashBook</cite> budget will run for the duration of the whole file and include all of the transactions. This makes sense if a new file is started at the beginning of each financial period; if not, the budget period can be restricted to a given set of dates. Open the <window>budget details</window> dialogue by selecting <menu>Analysis &msep; Budget...</menu> from the main menu, and enter the dates into the <icon>Budgeting dates</icon> section.

Allocating the expenditure is done through individual analysis headings. Each heading can have a budget limit set in the <window>edit heading details</window> dialogue, which shows up in the <icon>Budget</icon> column of the headings list window. If this value is non-zero, the field in the <icon>Actual</icon> column will show how much has been spent against that heading during the budget period (if there is no period set, this value will be the same as the one in <icon>Total</icon>). <icon>Balance</icon> indicates how much of the budget amount is left (ie. Balance = Budget &minus; Actual).

The layout of the headings list windows means that printing them or exporting them to another application provides a useful budget sheet showing budgeted amounts and actual expenditure. Budget limits can be revised at any point, and the various calculations will update automatically.

Similar budgeting facilities are available on incoming headings, although it may be harder to budget for many types of income. Once set up, the difference between the grand totals for the incoming and outgoing <icon>Budget</icon> columns should show the targeted gain or loss over the period, while the same difference for the <icon>Actual</icon> columns shows the actual performance.


<subhead title="Budgeting with accounts">

In the <window>accounts list</window> window, the <icon>Budget</icon> column shows the change in balance of each account during the budget period, by adding up all credits and debits that fall in the date range. This has no direct connection with the budgets set up for analysis headings, but in the case of savings accounts can provide a limited indication of the amount of money put away (or, indeed, withdrawn) during the period.

The value should be treated with caution, as it can easily be affected by the starting condition of the accounts. For example, if the budget period coincided with the tax year and money was held in a current account ready to be transferred to a savings account at the start of the new year, that current account would be likely to show a large negative <icon>Budget</icon> value for most of the budget period as the balance started high and an unusually large amount was quickly withdrawn.

While the account budget indication can be useful as a quick guide, for more detailed analysis of this kind of information the <link ref="Report">reporting and analysis</link> features may be more appropriate.


<subhead title="Monitoring post-dated transactions">

In addition to analysing income and expenditure, <cite>CashBook</cite> allows post-dated transactions to be monitored. The <icon>Final</icon> column in the <window>account list</window> window includes the effect of any post-dated transactions and pending standing orders for a specified period of time. This can provide prior warning when large amounts of money are due to leave an account.

The <window>budget details</window> dialogue, accessed from the main menu at <menu>Analysis &msep; Budget...</menu>, allows these options to be changed in the <icon>Post-dated transactions</icon> section. <icon>Trial standing orders for X days</icon> indicates how many days&rsquo; worth of future standing orders are included in the <icon>Future</icon> value and can be set to <entry>0</entry> to disable the feature. If <icon>Restrict transactions</icon> is set, post-dated transactions entered into the <window>transaction</window> window are also limited to this period: any transactions which are further ahead do not appear anywhere in the calculated values.

</chapter>







<chapter title="Reporting and Analysis" file="Report">

<cite>CashBook</cite>&rsquo;s analysis facilities allow reports to be generated, providing information on the accounts and analysis headings in a file. Details can be extracted on individual transactions, or on collections of transactions, accounts, analysis headings and so on. This makes it possible to gain a much clearer idea of the way in which money is being spent (or saved).

Reports are text-based, and can be viewed on screen or printed via the built-in report viewer. The contents can be exported in a number of formats, including CSV, and several of the reports can be created in a tabular layout which is suitable for graphing or loading into a spreadsheet for further manipulation.

The various reports are accessed from the <menu>Analysis</menu> menu. Four options are available, which are described in detail later in this chapter:

<list spacing="1">
<li>Transaction reports allow individual transactions to be shown, based on date, account or analysis heading, amount, reference or description. Summary totals of the individual accounts and analysis headings can be produced, and details on budget targets can also be included.

<li>Unreconciled transaction reports allow unreconciled transactions to be shown.

<li>Cashflow reports show the change in balance of accounts and analysis headings over time. Their output can be in the form of a list, or in a tabular format suitable for loading into a spreadsheet.

<li>Balance reports indicate snapshots of the balance of accounts and analysis headings at the end of given time periods. As with cashflow reports, their output can be in list or tabular format.
</list>

All of the reports can have their entries split into groups by date, and the unreconciled reports can also be grouped by account and analysis heading.

The settings used for individual reports can be saved as templates in a cashbook file for re-use at a later time.

The reports fall broadly into two groups. Transaction and unreconciled transaction reports are, at their names suggest, mainly concerned with transactions &ndash; although the transaction report can also provide useful summaries of analysis headings. Cashflow and balance reports, on the other hand, deal with the flow of money in to and out of accounts and analysis headings. Transaction reports can also be used to show income and expenditure against analysis headings.

Since <cite>CashBook</cite> effectively operates a double-entry system, cashflow and balance reports are of most use when looking at accounts in isolation. Each transaction has equal but opposite entries in two accounts or analysis headings, which results in these reports always totalling to zero if all the accounts and headings are included; this is explained in more detail when each report is discussed below. Due to this effect, transaction reports are often more use for providing information on spending against accounts, analysis headings and budget targets.

In addition to these general reports, the standing order report allows a list of the currently defined standing orders to be produced quickly.


<subhead title="The report viewer">

The report viewer is used to display completed reports or printouts on screen, and allows the results to be printed or saved out in a number of different formats.  Depending on the report, the CSV output is suitable for importing into a spreadsheet or graphing package for further manipulation.

The fonts used in the report can be changed using the <window>report font</window> dialogue, by selecting <menu>Font...</menu> from the <window>report</window> window menu or by clicking on the <icon>font</icon> in the toolbar.  Four fonts can be chosen: for the normal, italic, bold and bold-italic text respectively.  The font size can be specified in points, and the line spacing specified as a percentage of the point size.

Tabular data in reports can be surrounded by a grid, to make reading the lines easier. The grid can be toggled on and off by selecting <menu>Include &msep; Grid</menu> from the <window>report</window> window menu, or by clicking on the <icon>show grid</icon> button in the toolbar.

If a RISC&nbsp;OS printer driver has been loaded in the current session, then it becomes possible to switch the <window>report</window> window between showing a flat report (the only option if no driver is available) or one split into pages &ndash; showing where page breaks occur and allowing things like page headers and numbers to be previewed. To toggle page display on and off, select <menu>Show pages</menu> from the <window>report</window> window menu or click on the <icon>show pages</icon> button in the toolbar. The page display size is fixed on screen so that fonts appear at 100% scaling; if layout requirements would result in the page content being scaled down to fit on the paper, this results in the apparent page size growing on screen.

The paper layout can be switched between Portrait and Landscape by selecting <menu>Layout &msep; Portrait</menu> and <menu>Layout &msep; Landscape</menu> from the <window>report</window> window menu, or by clicking on the <icon>portrait</icon> and <icon>landscape</icon> buttons in the toolbar. To force the report to be scaled down so that its width fits on a single sheet of paper, select <menu>Layout &msep; Fit width</menu> from the <window>report</window> window menu or click on the <icon>fit width</icon> button in the toolbar.

Report pages can contain header and footer areas, which show the report title and page numbers respectively. These can be switched on and off using <menu>Include &msep; Title</menu> and <menu>Include &msep; Page numbers</menu> in the <window>report</window> window menu, or by clicking on the <icon>show title</icon> and <icon>show page numbers</icon> buttons in the toolbar.

Default values, to be used for new all new reports, can be set in the <icon>Report</icon> section of the <window>choices</window> dialogue.

The report can be printed from the <window>print report</window> dialogue, opened by selecting <menu>Print...</menu> from the <window>report</window> window menu.  The standard <link ref="Printing">printing options</link> are available, allowing the information to be rotated and scaled to best fit the paper or to be printed using fast text output if the hardware supports this.

Alternatively, the report contents can be exported in various different formats from the <window>report</window> window menu:

<list spacing="1">
<li>Plain ASCII text, from the <menu>Save text</menu> option, saves the content for a fixed width font using spaces to pad out the columns.  This is most likely to be of use for sending to a printer or including in another fixed width document such as an email.

<li>Comma separated values (CSV), using the <menu>Export CSV</menu> option.  CSV files are a standard format, used extensively by other applications like spreadsheets and graphing packages.  The output differentiates between text and numerical data, and splits columns into separate fields.  Some reports can produce tabular layouts, which are particularly suited to operations like charting.

<li>Tab separated values (TSV), using the <menu>Export TSV</menu> option.  TSV files are like CSV, but use tabs (ASCII character 9) instead of commas to separate fields and do not differentiate between text and numbers.  The format is most likely to be used for importing text into wordprocessors.
</list>

Finally, the settings used to create the report can be saved as a template in the file, by selecting <menu>Save template...</menu> from the <window>report</window> window menu, so that they can be re-used in the future. This is described in the next section.


<subhead title="Saving report templates">

The settings used for individual reports can be saved as templates in a cashbook file, so that they can be re-used at a later date.  Saved reports behave in a similar way to any other report, except that the contents of the <window>report</window> dialogue will be pre-loaded to the required values. In addition, the name of the report template will appear in the title of the finished report.

The first step to creating a saved report template is to generate the required report in the usual way (as described in the following sections). Once the <window>report viewer</window> window shows the desired result, select <menu>Save template...</menu> from the menu to open the <window>Save as template</window> dialogue box.

A name can be entered into the <icon>Name</icon> field of the dialogue, which will be used to identify the template in the saved reports menu. It will also appear in the title of future reports created from the template. The pop-up menu to the right of the field offers a list of any existing template names: saving a new template with one of these will cause the original template to be overwritten. Click <icon>Save</icon> to save the template into the file (to make this permanent, the file itself will now need to be saved in the usual way).

Reports generated from templates can themselves be saved as templates in exactly the same way. In this case, the name of the original template used to create the report will be offered by default in the <window>Save as template</window> dialogue. Leaving the name unchanged will update the original template definition; alternatively the name can be modified to create a new template from the report.

Saved report templates can be accessed from the <menu>Analysis &msep; Saved reports &msep;</menu> sub-menu of the main menu. Selecting a template from this list will open a <window>report</window> dialogue for the report (as described in the following sections), with a couple of differences: the template name will be shown in the dialogue title, and there will be two additional buttons at the bottom of the window.

Clicking on the <icon>Delete</icon> button will delete the report template from the file. The template can be renamed by clicking on <icon>Rename...</icon>, which will open the <window>Rename template</window> dialogue. This behaves in a similar way to the <window>Save as template</window> dialogue, except that it is not possible to rename the template to the same name as another in the file. Click on <icon>Rename</icon> to change the name.


<subhead title="Transaction reports">

A transaction report shows details of transactions which meet a given set of criteria. By restricting the report to certain accounts or analysis headings, it is possible to produce a report showing income or expenditure relating to specific areas.

The report consists of two parts: a list of all the transactions that match the criteria specified, and a summary of the income, expenditure and account activity related to those transactions by analysis heading or account.

By using only the analysis heading summary, a report can be produced on analysis headings which is similar to that shown in the <window>incoming</window> and <window>outgoing headings list</window> windows. In many situations, this can be more useful than the similar output from the cashflow report (described later).

By using the account summary, a report can be produced which is similar to the information shown in the <icon>Budget</icon> column of the <window>account list</window> window, but which relates only to the selected transactions (if no <icon>Include</icon> criteria are set, the information should match that of the account list exactly). This can provide information on account activity related to other criteria, unlike the cashflow report, which only provides information on overall account activity.

Transaction reports are useful for breaking income and expenditure up into groups, either by analysis heading, by account, or both. The reported transactions show the individual dates and amounts of money involved, while the summaries show totals over the periods of the report.

If the report is created for the current budget period (by selecting the <icon>Use budget period</icon> option), the summaries contain additional information relating to the budget limits. Along with the <icon>total</icon> amount allocated to each heading, the <icon>budgeted</icon> amount is shown, calculated from the number of days in the grouped period and the number of days in the whole budget period. The <icon>balance</icon> for the grouped period is the difference between the amount budgeted and the amount actually spent in that period, while the <icon>remaining</icon> value shows the amount remaining from the whole budget period.

Selecting <menu>Analysis &msep; Transaction report...</menu> from the main menu will open the <window>Transaction report</window> dialogue.

The date range over which the report will be compiled is set in the <icon>Period</icon> section. Lower and upper limits can be set by entering dates into the <icon>From</icon> and <icon>To</icon> fields; if either are left blank, the earliest and latest dates in the file are used respectively. If <icon>Use budget period</icon> is set, the current budgeting date range will be used instead of any entered values.

The way that transactions are grouped is set in the <icon>Groupings</icon> section. If the report is ungrouped, all the selected transactions will be shown in one block, with a single summary at the end. If <icon>Group transactions</icon> is ticked, the transactions will be broken up into chunks as shown and each section will have its own summary at the end.

The period of each group is given in the <icon>Group by</icon> field, and can be specified in days, months or years. If <icon>Lock to calendar</icon> is on, groups will always end on a calendar boundary (the end of a month or year), regardless of the start date specified.

The <icon>Include</icon> section contains the criteria for selecting which transactions to include. The <icon>From</icon> and <icon>To</icon> fields specify the accounts or analysis headings to which the transactions must relate: a transaction is included if it matches an entry in <em>either</em> the from or to list. If both lists are left blank, all transactions will be included.

Accounts and headings are entered into the include fields in comma separated lists of idents, like this: <entry>11,M4,T2</entry>. Clicking on the pop-up menu icons to the right of the fields, or pressing <key>f1</key> (the &lsquo;quick entry key&rsquo;) with the caret present, will open the <window>account entry</window> window; this will allow the idents to be entered in the usual way. An asterisk (<entry>*</entry>) can be used to signify &lsquo;any&rsquo; in one field if the other has specific idents entered.

The selection of transactions can be further narrowed down using the <icon>Reference</icon>, <icon>Amount</icon> and <icon>Description</icon> fields: if any of these are specified, the transaction must match the values given. The amount field can be given either a lower limit, and upper limit, or both, while both the reference and description fields can be given a piece of text to match.  The text comparison uses standard wildcards, where <entry>#</entry> matches a single character and <entry>*</entry> matches zero or more different characters.

Finally, the <icon>Output</icon> section contains options to select whether the transaction entries or the summaries are included in the report. Any combination can be selected. By default, accounts or analysis headings which have a zero balance in a given group will be omitted from the group&rsquo;s summary; this can be reversed by ticking <icon>Include empty</icon>, so that all accounts and analysis headings will be included in every group.

Once the options have been set, clicking on <icon>Generate</icon> will create the report and display it in a report viewer.


<subhead title="Unreconciled Transaction reports">

An unreconciled transaction report provides details of transactions in the cashbook file which have not been reconciled. This makes it possible to identify items which have not appeared on statements, which can potentially highlight errors.

Selecting <menu>Analysis &msep; Unreconciled report...</menu> from the main menu will open the <window>Unreconciled transaction report</window> dialogue.

The date range over which the report will be compiled is set in the <icon>Period</icon> section. Lower and upper limits can be set by entering dates into the <icon>From</icon> and <icon>To</icon> fields; if either are left blank, the earliest and latest dates in the file are used respectively. If <icon>Use budget period</icon> is set, the current budgeting date range will be used.

If <icon>Group transactions</icon> is ticked, transactions in the report will be grouped and shown together, either by date or by account and heading. <icon>Group by account and heading</icon> collects transactions together based on the unreconciled accounts or headings that they contain in the From and To columns. If both are unreconciled, the transaction will be shown in the report twice.

<icon>Group by date</icon> shows the transactions sorted by the dates that they occur on. The size of each group can be specified in days, months or years. If <icon>Lock to calendar</icon> is ticked, groups will always end on calendar boundaries regardless of the start date specified.

Finally, the <icon>Include</icon> section allows accounts and headings to be specified for inclusion in the report. If both the <icon>From</icon> and <icon>To</icon> fields are left blank, all accounts and sections will be used; otherwise, only those unreconciled transactions which match one or other of the fields will get included.

Accounts and headings are entered into the include fields in comma separated lists of idents, like this: <entry>11,M4,T2</entry>. Clicking on the pop-up menu icons to the right of the fields, or pressing <key>f1</key> (the &lsquo;quick entry key&rsquo;) with the caret present, will open the <window>account entry</window> window; this will allow the idents to be entered in the usual way. An asterisk (<entry>*</entry>) can be used to signify &lsquo;any&rsquo; in either of the fields, if the other contains specific idents.

Once the report parameters have been set, click on <icon>Generate</icon> to create the report.


<subhead title="Cashflow reports">

Cashflow reports show the flow of money in to or out of a set of accounts or analysis headings over a given period of time. Effectively, if the balance of an account at the start of the period is A and at the end it is B, then the cashflow of that account over that period is B&minus;A. At the end of each period, the cashflow for each account and analysis heading included in the report is added together, to give an overall total.

Due to the double-entry nature of transactions in <cite>CashBook</cite>, each one will create two equal but opposite entries in two separate accounts or headings (corresponding to the <icon>From</icon> and <icon>To</icon> fields of the transaction). As a result, if a cashflow report is generated including all the accounts and analysis headings in a file, every period total will be zero as the two halves of each transaction will always cancel out. It is this fact which underpins double-entry book keeping.

In addition to this, the cashflow for incoming analysis headings will always be <em>negative</em>, as money always flows <em>from</em> the heading to the account or heading at the other side of the transaction. Conversely, outgoing headings always have a <em>positive</em> cashflow, since money always flows <em>to</em> them from another account or heading.

As a result of these two points, cashflow reports are usually of most use when applied only to accounts. In this situation, they indicate whether the balance of an account is rising, falling or merely remaining at a constant level.

Cashflow reports can also be useful when applied solely to analysis headings, in which case they indicate the amount of money spent on or received from each category during the report period. Beware that, as explained above, incoming headings will always show negative cashflows, and outgoing headings positive ones; this can initially seem unintuitive. The information here is effectively the same as that shown in the <window>incoming headings list</window> and <window>outgoing headings list</window> windows if the report period is either the budget period or the whole file.

As noted above, producing a cashflow report including all the accounts and headings in a file provides a check that the file balances: the totals should always be zero if <cite>CashBook</cite> is doing its job properly! Cashflow reports containing an incomplete mix of accounts <em>and</em> headings may give unhelpful (if accurate) results. An incomplete set of accounts <em>or</em> headings can be useful: it could, for example, show information about a group of savings accounts, while ignoring current accounts and credit cards.

When working with analysis headings, it may be the case that a transaction report or the information in the headings list windows (which can of course be printed) proves to be of more use. In the case of the headings list windows, this will probably depend on the period over which the report is to be run.

Selecting <menu>Analysis &msep; Cashflow report...</menu> from the main menu will open the <window>Cashflow report</window> dialogue so that a report can be created.

The date range over which the report will be compiled is set in the <icon>Period</icon> section, and follows the standard format. Lower and upper limits can be set by entering dates into the <icon>From</icon> and <icon>To</icon> fields; if either are left blank, the earliest and latest dates in the file are used respectively. If <icon>Use budget period</icon> is set, the current budgeting date range will be used.

By default, the report shows figures for the cashflow in each account and analysis heading over the whole date range specified. If <icon>Group results</icon> is ticked, then the report will be broken up into sections as specified by <icon>Group by</icon>. Ticking <icon>Lock to calendar</icon> ensures that groups will always end on calendar boundaries, regardless of the start date.  If no money enters or leaves an account or analysis heading during a group period, it will be omitted unless <icon>Include empty groups</icon> is ticked.

The <icon>Include</icon> section specifies which accounts and analysis headings to include in the report.  If all three fields are left blank, then everything will be included; as noted in the explanation above, this may not be that useful.

As soon as one field contains an ident, only the specified accounts and headings will end up in the report. An asterisk (<entry>*</entry>) can be used to signify &lsquo;all&rsquo; in one or more fields; entering <entry>*</entry> into the <icon>Accounts</icon> field would generate a report including all the accounts and no analysis headings, while entering <entry>*</entry> into both the <icon>Incoming headings</icon> and <icon>Outgoing headings</icon> fields would generate a report including all the analysis headings in the file.

Accounts and headings are entered into the include fields in comma separated lists of idents, like this: <entry>11,M4,T2</entry>. Clicking on the pop-up menu icons to the right of the fields, or pressing <key>f1</key> (the &lsquo;quick entry key&rsquo;) with the caret present, will open the <window>account entry</window> window; this will allow the idents to be entered in the usual way.

The <icon>Tabular format</icon> option at the bottom of the dialogue determines the format used by the report. When off, the standard format is used and entries run down the page. If ticked, the results are arranged in a table with the accounts and headings across and dates running down: this is a handy format for importing into spreadsheets or graphing packages.  There is a maximum limit of 20 columns to the table, and if this will be exceeded (if there are more than 20 accounts and headings included), requests for the tabular format will be ignored.

Once the report parameters have been set, click on <icon>Generate</icon> to create the report.


<subhead title="Balance reports">

A balance report shows the balances of a set of accounts or analysis headings at the end of a given period. By grouping the report, it can show how the balances vary over time. At the end of each period, the balances of every account and analysis heading in the report are summed to give an overall total.

As with cashflow reports, the double-entry nature of transactions in <cite>CashBook</cite> can cause all the totals to be zero if every account and analysis heading in a file is included: if a transaction moves 10 from a heading to an account in isolation, the heading&rsquo;s balance will be &minus;10 and the account&rsquo;s balance will be +10 afterwards. Summing these balances gives a total balance of 0.

However, unlike a cashflow report, this will not hold true if any accounts have opening balances specified. In this case, the total shown in each report will be the total of the opening balances of all the accounts included in the report.

Still in a similar way to cashflow reports, the balances for incoming analysis headings will always be negative, while the balances for outgoing headings will always be positive. This is because incoming headings are effectively paying money out, into your accounts; outgoing headings, on the other hand, are always accruing the money paid out from your accounts.

As a result, and as with cashflow reports, balance reports will usually be of most use when applied to either accounts <em>or</em> analysis headings but not both at the same time. When applied to accounts, they show the amount of money contained in those accounts; when grouped by time, an indication of how those balances have changed over time is also provided.

Used with analysis headings, a balance report shows how the total income or expenditure of a heading increases over time. This is distinct from information returned from a transaction report (or cashflow report), which shows the income or expenditure totalled for each time period.

Selecting <menu>Analysis &msep; Balance report...</menu> from the main menu will open the <window>Balance report</window> dialogue.

The date range over which the report will be compiled is set in the <icon>Period</icon> section, and follows the standard format. Lower and upper limits can be set by entering dates into the <icon>From</icon> and <icon>To</icon> fields; if either are left blank, the earliest and latest dates in the file are used respectively. If <icon>Use budget period</icon> is set, the current budgeting date range will be used.

By default, the report shows figures for the balance of each account and analysis heading at the end of the date range specified. In normal use, it is generally more useful to tick <icon>Group results</icon>, so that the balance for each account or heading is shown at the end of each group period (for example at the end of each month).  Ticking <icon>Lock to calendar</icon> ensures that groups will always end on calendar boundaries, regardless of the start date.

The <icon>Include</icon> section specifies which accounts and analysis headings to include in the report.  If all three fields are left blank, then everything will be included; as soon as one field contains an ident, only the specified accounts and headings will end up in the report (but <entry>*</entry> can be used to signify &lsquo;all&rsquo; in a field if others have idents specified).

Accounts and headings are entered into the include fields in comma separated lists of idents, like this: <entry>11,M4,T2</entry>. Clicking on the pop-up menu icons to the right of the fields, or pressing <key>f1</key> (the &lsquo;quick entry key&rsquo;) with the caret present, will open the <window>account entry</window> window; this will allow the idents to be entered in the usual way.

The <icon>Tabular format</icon> option at the bottom of the dialogue determines the format used by the report. When off, the standard format is used and entries run down the page. If ticked, the results are arranged in a table with the accounts and headings across and dates running down: this is a handy format for importing into spreadsheets or graphing packages.  There is a maximum limit of 20 columns to the table, and if this will be exceeded (if there are more than 20 accounts and headings included), requests for the tabular format will be ignored.

Once the report parameters have been set, click on <icon>Generate</icon> to create the report.


<subhead title="Standing Order Reports">

A standing order report gives details of the orders currently defined in a cash book file.  Selecting <menu>Analysis &msep; Standing order report</menu> from the main menu or <menu>Full report</menu> from the <window>standing orders list</window> menu will create the report.

The report lists all the details of each standing order, including the accounts and headings concerned, amounts to be transferred, the number of transactions, dates and so on. No parameters can be set for the report.

</chapter>







<chapter title="Printing" file="Printing">

The contents of most <cite>CashBook</cite> windows can be printed, to provide a hard copy of the data they contain. For printing to work, a printer driver must have been loaded at some point during the current session. If your printer supports text-mode printing, <cite>CashBook</cite> can use this to produce a faster print job at the expense of flexibility.

To print the contents of a window, select <menu>Print...</menu> from the window&rsquo;s menu or click on the <icon>print</icon> button in the toolbar. In the case of the <window>transaction</window> window, the menu option is <menu>File &msep; Print...</menu> from the main menu, and the <key>print</key> key can also be used.

When printing the <window>transaction</window> window or statement view contents, there is an option in the <icon>Range<icon> section of the dialogue to restrict the printed dates to a given range: enter dates in the <icon>Include dates from</icon> and/or <icon>to</icon> fields as required. If either is left blank, the first and last dates in the file are used respectively. Clicking on <icon>Print</icon> will start the print job.

Instead of sending the print job direct to the printer, it is also possible to send it to a <link ref="Report">report viewer</link> by clicking on <icon>Report</icon>. The resulting report can then be processed further in the same way that any <link ref="Report">analysis report</link> can be.

The default options for printing, including the choice between standard and fast text, are set in the <icon>Printing</icon> section of the <link ref="Config">choices window</link>.


<subhead title="Standard printing">

The default method of printing uses outline fonts, which can be scaled as required. This method is the most flexible, allowing the text to be sized and rotated to provide the best fit on a page, but on older printers it can also be slow. Selecting <icon>Standard printing</icon> in the <icon>Print Mode</icon> section of the dialogue will use this mode.

The <icon>Formatting</icon> section of the dialogue allows control over how the printed output will appear. The <icon>Portrait</icon> and <icon>Landscape</icon> options determine the orientation of the text on the page. Using landscape will allow longer lines to fit on a single sheet of paper, at the expense of getting fewer lines per page. Setting <icon>Scale width to fit page</icon> will shrink the text size if this is required to fit the whole width on one page. Otherwise, the printout will be tiled across as many sheets of paper as necessary, although it will still be scaled down if required to ensure that the widest column fits on a single sheet.

A number of options can control what is actually printed. <icon>Include report title</icon> will include the title of the report at the head of each page, while <icon>Include page numbers</icon> will number each printed sheet at the foot of the page, to make it easier to identify the correct order. Where the layout ends up more than one sheet wide, page numbers are of the form X, Y. A grid can be drawn around areas of tabular data, if <icon>Draw grid around tables</icon> is ticked.

The margins used are those set in the <icon>Printing</icon> section of the <link ref="Config">choices window</link>. If these are set to be smaller than the current printer&rsquo;s margins, a warning will be given and the margins will be temporarily increased.  The fonts used for printing are the ones set in the <icon>Fonts</icon> section of the <link ref="Config">choices window</link> (which also set the default font for the report viewer).

When printing in standard mode, column headings for tables will be repeated if lines from the table continue over a page break.


<subhead title="Fast text printing">

If your printer supports text mode printing, selecting <icon>Fast text printing</icon> in the <icon>Print Mode</icon> section of the dialogue can be used to speed up the print job. The printer&rsquo;s internal font will be used, meaning that the outline font settings are ignored. It is no longer possible to scale the print size down to fit on a single page width, and data wider than this may not print correctly (the page width is defined by the printer&rsquo;s default font). Landscape printing is also not available, unless it can be set in the Printers application.

When printing in text mode, the <icon>Use text formatting</icon> option in the <icon>Formatting</icon> section determines whether an attempt is made to use bold, italic and underline styles to produce the same effect as the outline font printing uses; this will depend on the text settings in the RISC&nbsp;OS printer driver and the ability of the target printer.

</chapter>







<chapter title="Saving and Loading" file="Files">

Saving a cashbook file is done in the usual RISC&nbsp;OS way, by opening the <menu>File &msep; Save</menu> dialogue from the main menu, clicking on the <icon>save file</icon> button in the <window>transaction</window> window toolbar or pressing <key>f3</key>.  Enter a name in the <window>save as</window> dialogue, and drag the file to a directory viewer; if a full path is present, clicking <icon>OK</icon> or pressing <key>return</key> will save to the same location.

In addition to using the <window>save as</window> dialogue, a file which has already been saved (and hence has a full pathname showing in the titlebar of the <window>transaction</window> window) can be saved instantly with an <mouse>adjust</mouse> click on the <icon>save file</icon> button or by pressing <key>ctrl-f3</key>.

Cashbook files contain details of all the transactions, as well as definitions of all accounts, analysis headings, standing orders, transaction presets and report templates that have been set up. Budgeting details are saved, as are column widths for all the windows.


<subhead title="Loading files">

A cashbook file can be loaded by double-clicking on it in a filer window, as long as <cite>CashBook</cite> has been &lsquo;seen&rsquo; by the filer or is loaded on the iconbar. Files can also be dragged to the iconbar icon.

The file format has been defined to be as backwards compatible as possible.  If files from an old version of <cite>CashBook</cite> are loaded into a newer version, missing information is usually set to a sensible default value where possible.  If the file is subsequently saved, this additional information will be included in the file.

Going the other way, older versions of <cite>CashBook</cite> will just ignore any information that they do not understand: if this happens, a warning will be given. Saving the file again will cause this additional information to be lost: be careful!


<subhead title="File information">

Information about a cashbook file can be found by selecting <menu>File &msep; Info</menu> from the main menu or by pressing <key>ctrl-f1</key>.

The <window>file information</window> dialogue shows the location of the file on disc, if it has been saved, along with the date it was saved and whether there are unsaved modifications in memory (also shown by an asterisk at the end of the <window>transaction</window> window title bar).

The dialogue also shows how many accounts, analysis headings, transactions, standing orders and transaction presets are in the file.

</chapter>







<chapter title="Import and Export" file="Foreign">

<cite>CashBook</cite> can import and export data in a number of formats. Transaction details from other applications can be imported in comma separated value (CSV) format, while data can be exported from any of <cite>CashBook</cite>&rsquo;s windows as comma or tab separated values (CSV or TSV), or in the case of reports, as plain text.


<subhead title="Importing data">

At present, data import is fairly inflexible and geared to bringing data in from Apricote&rsquo;s <cite>Personal Accounts</cite> using the CSV format.  To import transactions, drag a CSV file (with filetype CSV, or &DFE) into a <window>transaction</window> window. If the window already contains some transactions, the new data will be added to the end.

The file should contain lines of data in the following format:

<codeblock>
&lt;date&gt;,&lt;to&gt;,&lt;from&gt;,&lt;reference&gt;,
  &lt;debit&gt;,&lt;credit&gt;,&lt;balance&gt;,&lt;description&gt;
</codeblock>

The &lt;date&gt;, &lt;reference&gt; and &lt;description&gt; fields are imported directly: the date must be in a format that would be accepted if it were typed into a <cite>CashBook</cite> window.

The &lt;from&gt; and &lt;to&gt; fields contain account or analysis heading names and idents, in the format <code>Ident:Name</code>. If a new ident is encountered, a suitable account or analysis heading is created: accounts are assumed to have numerical idents (eg. &lsquo;11&rsquo;), while analysis headings are assumed to have alphanumeric ones (eg. &lsquo;A1&rsquo;).

If any ident appears to be blank (either because the format of the field is incorrect or because it is empty), a message will be displayed but the import will continue.

The amount transferred in the transaction is read from the &lt;debit&gt; and &lt;credit&gt; fields, depending upon which one is populated; if both are present, the &lt;debit&gt; amount is used.  The &lt;balance&gt; value is thrown away.

When the import has been completed, the <window>import complete</window> dialogue will open, showing the number of transactions successfully imported along with the number of lines that were rejected due to errors. This can be dismissed by clicking on <icon>Close</icon>.

For more detailed information about the import, click on <icon>View log...</icon> to show a record of all the lines found in the file. Each entry shows whether it was imported or rejected, and the fields are shown as <cite>CashBook</cite> found them. The log is a standard report, and can be saved or printed in the normal way by clicking <mouse>menu</mouse> over it. See the <link ref="Report">Reporting and Analysis</link> chapter for more details.


<subhead title="Importing data from Personal Accounts">

As noted in the preceding section, the CSV import facilities of <cite>CashBook</cite> are mainly intended for importing data from Apricote&rsquo;s <cite>Personal Accounts</cite>.  The following process should be followed to import transaction data into <cite>CashBook</cite>.

<list type="num" spacing="1">
<li>In <cite>Personal Accounts</cite>, ensure that the <icon>Reconciliation</icon> options show a <icon>User typed character</icon> of <entry>#</entry>, a <icon>Display reconciled character</icon> of <entry></entry> and a <icon>Display un-reconciled character</icon> of a single space.

<li>Go to the <window>Reports 1</window> dialogue.  Under <icon>Columns to include in report</icon>, tick <icon>Date</icon>, <icon>From</icon>, <icon>To</icon>, <icon>Ref</icon>, <icon>Total</icon>, <icon>Balance</icon> and <icon>Description</icon>.  Make sure that <icon>Include summary of income &amp; payment headings used in report</icon> is not ticked.  Clear all the fields under <icon>Entries to include in report</icon>, and untick <icon>Auto-Monthly</icon>.  Save the report as a CSV file, using the centre file icon under <icon>Save/export Report</icon>.

<li>Open the exported file in a text editor, by <key>shift</key>-double-clicking on it.  Delete the lines from the top and bottom of the file which are not transactions (the header and summary lines).  Re-save the file.

<li>Open a new <window>transaction</window> window in <cite>CashBook</cite>, by clicking on its iconbar icon.  Drag the CSV file into the window.  This will import the transactions, and create any accounts or analysis headings that are used.

<li>Although accounts and headings will have been created, they will not be sorted as they were in <cite>Personal Accounts</cite>.  It will be necessary to go into the <window>accounts list</window> and <window>headings list</window> windows and re-arrange the entries as required.

<li>If any accounts or headings were not used by the imported transactions, these need to be manually entered.

<li>Account details, such as initial balances, cheque numbers and bank info will need to be entered by hand.

<li>Any standing orders in the original file will need to be created from scratch.
</list>


<subhead title="Exporting Data">

Data can be exported from <cite>CashBook</cite> as comma separated values and tab separated values files, for use in spreadsheets and word processors. Most windows&rsquo; menus have <menu>Export CSV</menu> and <menu>Export TSV</menu> entries which allow this to be done (the <window>transaction</window> window has the options in the <menu>File</menu> sub-menu of the main menu.

The <window>report</window> window also contains the option to export data as space-delimited ASCII text.  This is described in more detail in the <link ref="Report">Reporting and Analysis</link> section.

</chapter>







<chapter title="Finding transactions" file="Find">

It is possible to locate transactions within a cashbook file in two ways. If the date or transaction number is known, it can be jumped to using the <window>goto transaction</window> dialogue; if not, the <window>find transaction</window> dialogue can be used to look for the correct entry based on a number of criteria.


<subhead title="Going to a transaction">

If you know the date or number of a transaction, it is possible to go direct to it using the <window>goto transaction</window> dialogue.  Open it by selecting <menu>Transactions &msep; Goto...</menu> from the main menu, or by clicking on the <icon>goto transaction</icon> button in the transaction window toolbar.

Simply enter the date or transaction number into the <icon>Transaction</icon> field, selecting <icon>Date</icon> or <icon>Number</icon> as appropriate, and click on <icon>Go</icon>.  If the transaction exists, the caret will be placed in the date field; if not, a message will indicate this.


<subhead title="Searching for transactions">

If the date or transaction number is not known, or if several similar transactions need to be located, then the file can be searched based on the contents of a combination of any of the transaction fields.  The <window>find transaction</window> dialogue is opened by selecting <menu>Transactions &msep; Find...</menu> from the main menu, or by clicking on the <icon>find transaction</icon> button in the transaction window toolbar.

The top section of the dialogue allows the contents of some or all of the fields to be specified.  Any combination can be used, and it is possible to find transactions where all of the specified fields match or where any one or more match.  Values are entered as they would be in a transaction entry, with the same entry keys used for reconciliation of accounts and headings.

The reference and description fields can include wildcards if required.  <entry>*</entry> will match any number of characters, including none, while <entry>#</entry> will match any single character.  If <icon>Match whole field</icon> is ticked, then the entered text must be an exact match for the whole entry; otherwise, the text can appear anywhere in the cell. Unless the <icon>Case sensitive</icon> option is on, upper and lower case are treated as the same in both fields.

The <icon>And</icon> and <icon>Or</icon> switches determine how multiple fields are treated.  If <icon>Or</icon> is selected, then any transactions where one or more of the specified fields match will be found.  If <icon>And</icon> is selected, all the specified fields must match for a transaction to be found.

The <icon>Search direction</icon> can be set to search forwards or backwards from the current location of the caret, or from the start or end of the file, as required.  Click <icon>Find</icon> to start the search.

<subhead title="Search results">

If any matching transactions are found, the <window>found transaction</window> dialogue will open and the caret will be placed in the first matching field of the line.  The dialogue shows which fields matched and gives the transaction number.

The <icon>Previous</icon> and <icon>Next</icon> buttons allow the search to continue in either way, relative to the current search direction, using the same parameters.  <icon>New search</icon> allows the current search parameters to be modified, while <icon>Cancel</icon> will abort the search.

</chapter>







<chapter title="Purging Data" file="Purge">

After a time, cashbook files will contain old data which is no longer needed.  While this is not actually a problem, it may be desirable to remove old transactions which have been reconciled, unused accounts and analysis headings, and completed standing orders.

It is possible to carry out this process as part of a year-end routine, removing old transactions before saving the file under a new name.  This ensures that records are maintained, while also reducing the amount of &lsquo;clutter&rsquo; in the working copy of the file.

The process is carried out from the <window>purge file</window> dialogue, which can be opened by selecting <menu>File &msep; Purge...</menu> from the main menu. Four options are available, allowing each type of item to be purged as required.

If <icon>Remove reconciled transactions</icon> is selected, all transactions where both the <icon>From</icon> and <icon>To</icon> fields are reconciled will be removed. If a date is supplied in the <icon>Keep transactions from</icon> field, only transactions taking place before that date will be deleted. It is not possible to purge unreconciled transactions.

<icon>Remove unused accounts</icon> and <icon>Remove unused headings</icon> allow any accounts or analysis headings to be removed if they are not referred to in any transactions or standing orders. This process is done after transactions and standing orders have been purged, so it will remove any accounts or analysis headings left unused following the purge. Note that in this context, &lsquo;used&rsquo; means referred to in a transaction, standing order, or transaction preset.

Finally, <icon>Remove completed standing orders</icon> will remove any standing orders which have either completed or been stopped.

To start the purge, click on <icon>Purge</icon>. Once the process has completed, the filename is removed from the file so that it can not accidentally be saved back over the original; instead, the file must be dragged to a filer window again.

</chapter>







<chapter title="Configuration" file="Config">

A number of aspects of <cite>CashBook</cite>&rsquo;s operation can be adjusted and configured to suit individual users&rsquo; tastes, computer or geographical location.  To access the <window>choices</window> dialogue, select <menu>Choices...</menu> from the iconbar menu.

The <window>choices</window> dialogue is split into a number of sections, which are described below.  To close the window and apply any changes made, click on the <icon>Apply</icon> button; to save the changes so that they will be used the next time <cite>CashBook</cite> is loaded, click on <icon>Save</icon>.


<subhead title="General choices">

The <icon>General</icon> choices contain a number of options which do not fit in elsewhere.  They include general user interface issues and control over the way that dates are handled.

If <icon>Remember dialogue contents</icon> is ticked, the contents of dialogue boxes will be retained the next time they are opened.  When opening a dialogue from a toolbar button, the contents can be cleared by using an <mouse>adjust</mouse>-click instead of <mouse>select</mouse> (the contents can not be cleared when opening from a menu).  If the option is off, this behaviour is reversed, so that by default dialogue contents are cleared, but can still be retained if an <mouse>adjust</mouse>-click on a toolbar button is used.

The <icon>Desktop interface</icon> section contains a couple of options relating to the general interface. If <icon>RISC&nbsp;OS&nbsp;5 keyboard</icon> is selected, keys such as <key>home</key> and <key>end</key> follow the <cite>RISC&nbsp;OS&nbsp;5 Style Guide</cite>; otherwise, they follow the old Acorn guidelines. This option is selected by default on any system running RISC&nbsp;OS&nbsp;5, but can be overridden manually.  <icon>Support global clipboard</icon> determines whether <cite>CashBook</cite> handles global cut, copy and paste from the <window>transaction</window> window. It should be turned off if system wide support is available (eg. if Select or Adjust&rsquo;s icon selection is on, or if an add-on module like <cite>IcnClipBrd</cite> is present). <icon>Transaction drag and drop</icon> controls support for the drag and drop of data between fields in the <window>transaction</window> window: when on, entries can be dragged around the window in the usual way.

The <icon>Dates</icon> section controls the way in which dates are handled. <icon>Format</icon> controls the format in use for all input and display: the different options can be selected from the pop-up menu to the right of the field. The <icon>Input separators</icon> field contains a list of symbols which can be used to separate the sections of a date on entry.  By default this is <entry>-/\.</entry>, which means that dates can be entered as <entry>DD-MM-YYYY</entry>, <entry>DD/MM/YYYY</entry>, <entry>DD\MM\YYYY</entry> or <entry>DD.MM.YYYY</entry> (dependant on the date format selected, of course).  <icon>Display separator</icon> is the symbol to be used whenever a date is displayed or printed.  The <icon>Use territory calendar info</icon> option tells <cite>CashBook</cite> to get information about the structure of dates (eg. the number of days in each month) from the system. This should usually be left on;  if turned off, <cite>CashBook</cite> uses its own default values.


<subhead title="Currency choices">

The <icon>Currency</icon> choices determine the way in which <cite>CashBook</cite> handles monetary values.

The <icon>Show zeros</icon> option determines whether a zeros are displayed, or whether the fields or cells with a zero value are left blank.  It affects all windows, dialogue boxes, exported files and printed pages.

The remainder of the section determines the currency and the way in which numbers are formatted.  It is usually best to leave <icon>Use territory defaults</icon> set, and allow <cite>CashBook</cite> to get the information from the system.  If the option is turned off, the remaining settings can be changed.

<icon>Decimal places</icon> sets the number of digits following the decimal point: in most currencies, this will be 2.  The <icon>Decimal point</icon> can also be specified, to allow the full-stop to be replaced by other symbols such as a comma.

The way in which <icon>Negative values</icon> are shown can be adjusted.  If <icon>Minus sign</icon> is used, numbers appear as &lsquo;&minus;1.23&rsquo;, whereas if <icon>Brackets</icon> is chosen, they will be formatted as &lsquo;(1.23)&rsquo;.


<subhead title="Transaction choices">

The <icon>Transactions</icon> section controls some aspects of the <window>transaction</window> window&rsquo;s behaviour.

If <icon>Automatically sort transactions</icon> is set, pressing <key>return</key> in the sorted field of a transaction (ie. the field whose column heading shows the sort indicator) will automatically sort it into the correct place in the window. Any affected statement views will also be re-sorted.

<icon>Allow full transaction delete</icon> enables or disables the use of <key>ctrl-F10</key> in the <window>transaction</window> window for clearing whole transactions in one go.

<icon>Highlight reconciled entries</icon> will allow transactions with both the <icon>From</icon> and <icon>To</icon> fields reconciled to be shown in a different colour.  The <icon>Highlight colour</icon> can be selected in the field below, by clicking on the pop-up icon.

The length of the <mouse>Adjust</mouse>-click menus over the <icon>Reference</icon> and <icon>Description</icon> fields of the <window>transaction</window> window can be specified using the <icon>Limit completion menus to X items</icon> field. If set to a number greater than zero, the menus will include at most that many entries collected from the transactions nearest to the mouse click. Set this to <entry>0</entry> to make the length of the menus unlimited.

If <icon>Automatically sort presets</icon> is on, the contents of the <window>preset list</window> window will be re-sorted after new presets are added.

<subhead title="Account and analysis heading choices">

The <icon>Accounts</icon> section controls the behaviour of the accounts and analysis headings, including the statement view windows.

If <icon>Highlight overdrawn balances</icon> is ticked, entries in the <window>accounts list</window> window will be displayed in a different colour if they go overdrawn. Similarly, entries in the <window>outgoing headings list</window> will be highlighted if they go over the specified budget limit, while entries in the <window>incoming headings list</window> will be highlighted if they fail to reach the budgeted amount.  The <icon>Highlight colour</icon> can be selected in the field below, by clicking on the pop-up icon.

In the <icon>Statement views</icon> section, the <icon>Highlight heading entries outside budget</icon> option allows entries in the analysis heading statement views to be shown in a different colour if they fall outside the current budget range.

The <icon>Highlight overdrawn account entries</icon> will display the balances in account statement views using a different colour if they go below the specified credit limit.


<subhead title="Standing order choices">

The <icon>Standing orders</icon> section controls the way in which standing orders behave.

If <icon>Sort after adding standing orders</icon> is on, the contents of the <icon>transaction</icon> window and any open statement views will be sorted into date order after any new standing orders are added.

If <icon>Automatically sort standing orders</icon> is on, the contents of the <window>standing order list</window> window will be re-sorted after new standing orders are added. This can be useful for ensuring that the next standing orders to be applied always end up at the top of the window.

The remainder of the section deals with what <cite>CashBook</cite> views as &lsquo;weekend days&rsquo; for the purposes of avoiding them when picking dates to add standing orders.  <icon>Use territory defaults</icon> is usually selected, and the information is read from the system.  If it is unset, the days that comprise the weekend can be set manually.


<subhead title="Printing choices">

The <icon>Printing</icon> section controls the printing options, including print margins and the default settings.

The <icon>Standard printing</icon> and <icon>Fast text printing</icon> options determine the default mode to be used for print jobs.  Standard uses RISC&nbsp;OS fonts and should work with all but the most elderly of printers; while it will be slower on old hardware, it allows more options for scaling text and fitting it on the page.  Fast text will only work on printers that offer a text mode: this is mainly old dot-matrixes and PostScript devices.  It has the advantage of speed, but is much less flexible in terms of layout and formatting.

When printing in standard mode, the text can be placed on the page in either <icon>Portrait</icon> or <icon>Landscape</icon> mode; the latter is useful if there are long lines present.  Ticking <icon>Scale width to fit page</icon> will ensure that print jobs always come out one page wide, by reducing the font size until the widest line fits. Page numbers can be added by ticking <icon>Include page numbers</icon>.

The font used for printing is the one set in the <icon>Fonts</icon> section of the choices.

The <icon>Print margins</icon> should be set to keep the page contents away from the edges of the paper.  They are measured from the edge of the paper, and should be larger than the margins set in the printer drivers; if they are not, a warning will be given whenever a page is printed. The <icon>Gutter</icon> is the space between the footer area containing the page number and the bottom of the main printable area: if page numbering is off, then the footer is not included in the layout and the gutter dimension will not be used.

For fast text printing, the <icon>Use text formatting</icon> option can be used to include bold and underline formatting on the page.  This depends on support from both the printer itself and from the text mode drivers in the RISC&nbsp;OS printing system.


<subhead title="Report choices">

The <icon>Reports</icon> section of the choices allows the default font and display details to be set for the <window>report</window> window.  The settings are also used for printing in standard mode.

<icon>Normal font</icon> and <icon>Bold font</icon> are the fonts used for normal and bold text respectively.  The <icon>Font size</icon> for both can be set in points, and the <icon>Line spacing</icon> is given as a percentage of the font size. The use of a grid around tabular data can be controlled with the <icon>Show grid</icon> option.

</chapter>







<chapter title="Version History" file="History">

This is a list of the major changes made to <cite>CashBook</cite>.  For full details of all the internal alterations, see the full change log.

<subhead title="0.98 (23 September 2006)">

First public beta release, for feedback and comment.


<subhead title="0.98a (27 September 2006)">

Limited release to some end users.

<list>
<li>Negative values are now supported in some transaction amounts.
<li>Bug fixes.
</list>


<subhead title="0.99 (18 February 2007)">

Second public beta release, for feedback and comment.

<list>
<li>Full support for negative currency values.
<li>Support for sorting added throughout application. Sort indicators and dialogue boxes added to transaction, statement view and standing order list windows. Internal transaction data now sorted before critical calculations.
<li>Highlighting options for overdrawn accounts, missed budgets and out-of-budget transactions added.
<li>Quick-save options (<mouse>adjust</mouse> clicks and <key>ctrl-f3</key>) added.
<li>Bug fixes.
</list>


<subhead title="0.99a (1 April 2007)">

Update to second public beta release, for feedback and comment.

<list>
<li>Fixed buffer overrun when opening statement views on unused accounts or headings.
</list>


<subhead title="0.99b (2 April 2007)">

Update to second public beta release, for feedback and comment.

<list>
<li>Shift-Adjust-Close now open parent directory but leaves file open.
</list>


<subhead title="0.99c (23 May 2007)">

Update to second public beta release, for feedback and comment.

<list>
<li><window>Transaction</window> window redraws correctly when importing CSV files.
<li>Various minor redraw issues with current input line of <window>transaction</window> window fixed.
</list>


<subhead title="1.00 (4 September 2007)">

First stable release.

<list>
<li>Corrections to interactive help messages.
</list>


<subhead title="1.01 (7 December 2007)">

Update to first stable release.

<list>
<li>Unsaved files warning now contains a <icon>Save</icon> button.
<li>Sign conversions in file load routines fixed.
<li>Report date ranges correctly handle empty transaction dates.
</list>


<subhead title="1.02 (15 February 2008)">

Update to first stable release.

<list>
<li>Purge operation fixed, having been broken since version 0.99.
<li>Statement view windows are now correctly deleted if parent account is deleted.
<li>Calls to <code>Wimp_SetExtent</code> now correctly call <code>Wimp_OpenWindow</code> to avoid redraw artifacts when windows shrink.
</list>


<subhead title="1.03 (18 March 2008)">

Update to first stable release (limited issue).

<list>
<li>Clicking <mouse>adjust</mouse> over the <icon>From</icon> or <icon>To</icon> columns of the <window>transaction</window> window opens a short cut menu showing all applicable accounts and analysis headings.
<li>Transaction report includes information on budget targets when budget period is used.
<li>CSV file import logs progress and reports on number of lines imported and rejected.
<li><key>ctrl-F10</key> delete transaction option added.
<li>Various minor redraw errors fixed.
</list>


<subhead title="1.10 (20 April 2008)">

Second stable release.

<list>
<li>CSV file import error checking and logging improved.
<li>Heading statement views do not shade when there are no budget dates set.
<li>Adjust-click refresh in <window>transaction</window> window fixed.
<li>Files close if successfully saved after clicking <window>transaction</window> window close icon.
<li>Various minor redraw errors fixed.
</list>


<subhead title="1.11 (9 October 2008)">

Update to second stable release.

<list>
<li>Ctrl-F2 closes the transaction window.
<li><mouse>Adjust</mouse> clicks on reconciled fields in dialogues will toggle their state.
<li><mouse>Adjust</mouse> clicks on account name fields in dialogues will open a selection menu.
<li>Various minor bug fixes and redraw errors fixed.
</list>


<subhead title="1.12 (4 November 2008)">

Update to second stable release (limited issue).

<list>
<li>Reports output accounts and headings in the same order as they are listed in the <window>accounts</window>, <window>incoming headings</window> and <window>outgoing headings</window> windows.
</list>


<subhead title="1.15 (11 March 2009)">

Third public beta release, for feedback and comment.

<list>
<li>Transaction presets added.
<li><mouse>Adjust</mouse>-click menu added for <icon>Date</icon> column in <window>transaction</window> windows.
<li>Trying to restart a stopped standing order without altering the start date prompts a warning, before duplicate transactions are entered into the file.
</list>


<subhead title="1.16 (18 March 2009)">

Update to third public beta release, for feedback and comment.

<list>
<li><mouse>Adjust</mouse>-click menus no longer abort when selections are made, if the <window>transaction</window> window toolbar&rsquo;s accounts menu has been opened.
</list>


<subhead title="1.17 (2 April 2009)">

Update to third public beta release, for feedback and comment.

<list>
<li>The <window>file information</window> dialogue includes details of transaction presets.
<li>Transaction presets correctly set the reconciled status of new transactions.
<li><mouse>Adjust</mouse>-click menus added for <icon>Reference</icon> and <icon>Description</icon> columns in the <window>transaction</window> window.
<li><key>Ctrl</key>-<key>tab</key> and <key>ctrl</key>-<key>return</key> facility added to <window>transaction</window> window.
<li><icon>Account summary</icon> option added to transaction reports.
</list>


<subhead title="1.18 (19 April 2009)">

Update to third public beta release, for feedback and comment.

<list>
<li>Saved report templates added.
<li>Bug affecting the loading of non-standard cashbook files (ie. those not as generated by <cite>CashBook</cite>) containing presets resolved.
</list>


<subhead title="1.20 (20 April 2009)">

Third stable release.

<list>
<li>Minor improvements and bug fixes to the saved report interface.
<li>Presets checked when purging or deleting accounts.
<li>Deleted accounts removed from report templates.
</list>


<subhead title="1.21 (28 September 2009)">

Update to third stable release.

<list>
<li>Checks on loading, and warns the user if another copy is already on the iconbar.
<li>Pay-in slip numbers can now be tracked for accounts and used in the reference field (in a similar way to cheque numbers).
</list>


<subhead title="1.22 (6 October 2009)">

Update to third stable release.

<list>
<li>Fixed bug preventing analysis headings from being created or edited (added in 1.21).
</list>


<subhead title="1.23 (17 April 2011)">

Update to third stable release.

<list>
<li>Add match whole string option to <link ref="Find">find</link> dialogue.
<li>Change <icon>Next</icon> and <icon>Previous</icon> buttons in <window>found</window> dialogue to work relative to the current search direction.
</list>


<subhead title="1.30 (14 October 2012)">

Fourth stable release.

<list>
<li>Relicensed as Open Source.
<li>Extensive internal restructuring.
<li>Support for page numbering and heading line repetition when printing.
<li>Substring search within transaction list.
</list>


<subhead title="1.35 (26 February 2016)">

Update to fourth stable release.

<list>
<li>Re-implemented Data Transfer support code into a more modern and maintainable format.
<li>Correctly carry column headings across from the first page when printing reports (ticket&nbsp;#409).
<li>Add transaction numbers to all transaction views and reports (tickets #430 and&nbsp;#494).
<li>Remove escaped characters from print job titles (ticket&nbsp;#509).
<li>Fix ZeroPain when closing files, and tidy up file closure code to prevent accidental dereferencing of stale pointers (ticket&nbsp;#556).
<li>Report correct transaction numbers in Found dialogue box (ticket&nbsp;#567).
</list>


<subhead title="1.36 (29 February 2016)">

Update to fourth stable release.

<list>
<li>Don&rsquo;t try to place caret in transaction number column when looking up transactions from account views (ticket&nbsp;#578).
<li>Use valid dialogue info pointers when opening Find dialogue (ticket&nbsp;#579).
</list>


<subhead title="1.37 (23 February 2017)">

Update to fourth stable release.

<list>
<li>Support added for displaying and entering dates in YYYY-MM-DD and MM-DD-YYYY formats in addition to DD-MM-YYYY (ticket&nbsp;#610).
<li>Fixed problem with &lsquo;Reconcile Mode&rsquo; where the caret didn&rsquo;t advance on keypresses.
<li>Perform a secondary visual sort on transaction number in <window>transaction</window> and <window> account view</window> windows, to ensure that transactions always retain the same relative order when the sort index is the same (tickets&nbsp;#280, #362, #488 and #594).
<li>Don&rsquo;t allow zero or negative days or months when entering dates (ticket&nbsp;#607).
<li>Don&rsquo;t allow negative credit limits to be entered (ticket&nbsp;#606).
<li>Close <window>account edit</window> and <window>heading edit</window> dialogue boxes when their parent windows close.
<li>Re-implemented data entry line code into a stand-alone module separate from the Transaction module.
<li>Improve error checking when allocating memory for windows and data structures (ticket&nbsp;#609).
<li>Improve error checking when allocating memory during file loading, and when adjusting memory allocation in normal use.
<li>Improve error and bounds checks when loading files from disc (ticket&nbsp;#614).
<li>Fix redraw of lines in <window>preset</window> and <window>standing order</window> windows, so that the correct entry is redrawn after edit dialogues are closed.
<li>Row numbers are redrawn if and when they are changed (ticket&nbsp;#530).
<li>Start to add support for entering interest rate data (incomplete and non-functional).
</list>


<subhead title="1.40 (15 April 2018)">

Fifth stable release.

<list>
<li>Re-implemented analysis report system to make it modular and enable additional reports to be added.
<li>Re-implemented report viewer, adding new menus and toolbar. Page layouts can be previewed on screen when a printer driver is present.
<li>Allow a grid to be plotted around tables in reports and printed output (ticket&nbsp;#354).
<li>Allow print jobs to be sent to a report window instead of direct to a printer (ticket&nbsp;#300).
<li>Allow zero-balance entries to be included in transaction report summaries (ticket&nbsp;#601).
<li>Implement drag and drop between fields in the <window>transaction</window> window (ticket&nbsp;#629).
<li>Tidy up print dialogue and print protocol implementation.
<li>Remove all unbounded string operations from source code.
<li>Highlight the line over which <mouse>menu</mouse> was clicked when menus can operate on items in a window.
<li>Fix bug which caused previous dates to be ignored when entering transactions.
<li>Fix unwanted caret movements when entering dates in the <window>transaction</window> window whilst an account view is open (ticket&nbsp;#630).
<li>Make changes to cell contents from the Global Clipboard stick correctly when the caret is moved to another cell (ticket&nbsp;#628).
<li>Correctly ensure that a C99-friendly version of the Shared C Library is present (ticket&nbsp;#632).
</list>


<subhead title="1.41 (2 June 2018)">

Update to fifth stable release.

<list>
<li>Fix errors writing cheque number details to file, introduced in 1.40 (ticket&nbsp;#659).
</list>


<subhead title="1.42 (15 September 2019)">

Update to fifth stable release.

<list>
<li>Fix problems inserting paying in slip numbers, introduced in 1.40 (ticket&nbsp;#689).
</list>


<subhead title="1.43 (28 July 2020)">

Update to fifth stable release.

<list>
<li>Use ResConf-style system variables to identify resources.
</list>


<subhead title="1.44 (11 January 2021)">

Update to fifth stable release.

<list>
<li>Fix "out by one" error when copying text from dialogue boxes (tickets&nbsp;#731, #735 and #736).
<li>Update website and contact information.
<li>Re-licence under EUPL v1.2.
</list>

</chapter>




<chapter title="Future Developments" file="Future">

<cite>CashBook</cite> is a work in progress, so if there is a feature that you think would be useful, please let me know.

There is no specific development plan going forward, but the following ideas are under consideration; other suggestions for new features are welcome. Bug reports are always useful, as without them problems might never get fixed!

Currently there are are a number of ideas under consideration, which include:

<list>
<li>Support for tracking interest rates on accounts, both for saving and borrowing. This would allow some new reporting options, including the analysis of loan repayment periods.
<li>Improved data import. This would include better CSV file import which isn&rsquo;t tied to data from <cite>Personal Accounts</cite>, and adding support for TSV and QIF imports. Automatic reconciliation of internet banking records would be desirable.
<li>Improvements to the reporting options, including the generation of data based on monthly variance.
<li>More flexible standing order date options.
</list>

Development of <cite>CashBook</cite> remains a spare-time activity, fitted in around work and other hobbies. As a result, implementing new features can take time.

</chapter>




<literal mode="Text">


Updates and Contacting Me
-------------------------

  If you have any comments about CashBook, or would like to report any bugs
  that you find, you can email me at the address below.

  Updates to CashBook and more programs for RISC OS computers can be found on
  my website at http://www.stevefryatt.org.uk/risc-os

  Stephen Fryatt
  email: info@stevefryatt.org.uk
</literal>






<literal mode="Strong" file="!Configure">
# Configure file for StrongHelp
# Lines starting with "# " are comments (Note the space)
# Lines starting with "#Commands" and "#End" are *not* comments.

#Commands

# f0  = Sassoon.Primary           14   Bold  1  Italic  2  Both  3
# f1  = Sassoon.Primary.Bold      14   Bold  1  Italic  2  Both  3
# f2  = Homerton.Medium.Oblique   14   Bold  1  Italic  2  Both  3
# f3  = Homerton.Bold.Oblique     14   Bold  1  Italic  2  Both  3

# The Body font

f0  = Trinity.Medium          14   Bold  1  Italic  2  Both  3
f1  = Trinity.Bold            14   Bold  1  Italic  2  Both  3
f2  = Trinity.Medium.Italic   14   Bold  1  Italic  2  Both  3
f3  = Trinity.Bold.Italic     14   Bold  1  Italic  2  Both  3
f4  = Trinity.Medium          10

# The Headline fonts

f10 = Homerton.Bold           16
f11 = Homerton.Bold.Oblique   14
f12 = Trinity.Bold            14
f13 = Trinity.Bold.Italic     12
f14 = Trinity.Medium          10
f15 = Trinity.Medium.Italic   8

# The fonts used for fCode

f20 = Corpus.Medium           14   Bold 21  Italic 22  Both 23
f21 = Corpus.Bold             14   Bold 21  Italic 22  Both 23
f22 = Corpus.Medium.Oblique   14   Bold 21  Italic 22  Both 23
f23 = Corpus.Bold.Oblique     14   Bold 21  Italic 22  Both 23

# Fonts 24 to 31 are reserved for the manuals themselves.

f31 = Selwyn                  14

# The styles..

fStd       = f0
fLink      = f_
fStrong    = f*
fEmphasis  = f/
fUnderline = f_
fCode      = f20
fCite      = f/

fH1        = f10
fH2        = f11
fH3        = f12
fH4        = f13
fH5        = f14
fH6        = f15

# Set default background and font

#Background rgb 255,255,255
Background wimp 1
fStd

#End
</literal>









<literal mode="HTML">

<div><h2>Updates and Contacting Me</h2>

<p>If you have any comments about <cite>CashBook</cite>, or would like to report any bugs that you find, you can email me at the address below.</p>

<p>Updates to <cite>CashBook</cite> and more programs for RISC&nbsp;OS computers can be found on my website at <a href="http://www.stevefryatt.org.uk/risc-os">http://www.stevefryatt.org.uk/risc-os</a></p></div>

<p class="breadcrumb">[ <a href="../../" class="breadcrumb">Home</a>
| <a href="../" class="breadcrumb">RISC&nbsp;OS Software</a>
| <a href="index.html" class="breadcrumb">CashBook</a>
| <span class="breadcrumb-here">Manual</span> ]</p>

</div>

<div id="footer">
<p><a href="http://validator.w3.org/check?uri=referer"><img src="../../images/vh40.gif" alt="Valid HTML 4.0!" width=88 height=31 border=0></a>&nbsp;
<a href="http://www.riscos.com/"><img src="../../images/roro4x.gif" alt="RISC&nbsp;OS" width=88 height=31 border=0></a>&nbsp;
<a href="http://www.anybrowser.org/campaign/"><img src="../../images/any.gif" alt="Best veiwed with Any Browser!" width=81 height=31 border=0></a>&nbsp;
<a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="../../images/vcss.gif" alt="Valid CSS!" width=88 height=31 border=0></a></p>

<p>Page last updated $$date$$ | Maintained by Steve Fryatt:
<a href="mailto:web@stevefryatt.org.uk">web@stevefryatt.org.uk</a></p>
</div>

</div>
</body>
</html>
</literal>
